2009-07-03 2 views
6

일부 데이터를 표시하는 데 JQuery Treeview 플러그인을 사용하고 있습니다. 기본적으로, 나는 자식에 클릭 이벤트를 추가하고 싶습니다 < li> innerhtml을 페이지의 다른 div에 복사하는 요소. 그러나이 < li> 요소에 클릭 이벤트를 할당 할 수 없었습니다.클릭 이벤트를 < li > (JQuery 트리 뷰)에 지정

호핑 누군가가 전에이 땅을 밟고 도움을 줄 수 있습니다.

감사합니다. http://docs.jquery.com/Plugins/Treeview의 예에서 마크 업을 사용

+0

리프 노드 만 (안 루트 노드)에 클릭 이벤트를 추가합니다

$('li:not(:has(>ul))', 'ul#menu').live('click', function() { alert($(this).text()); }); 

이 : 를 (" #nameOfLi "). (function() {alert ('foo');}); – Peter

+1

예 - 나를 위해 클릭을 첨부하지 않는 것 같습니다. 동일한 코드는 트리 뷰 (분명히) 외부 페이지의 아무 곳이나 요소에 클릭 이벤트를 첨부합니다. – WorkingWeb

+0

코드 스 니펫을 게시 할 수 있습니까? – Peter

답변

6

:

$("span.file, span.folder", "#example li") 
    .click(function() { alert($(this).text()); }); 

작품. LI 항목 자체에 대한 클릭 처리는 지점 수축 및 확장을 캡처합니다.

+1

감사합니다. 귀하의 의견은 제가 문제를 일으키는 트리 뷰 (JSON을 통해 분기를 추가하는 방법)를 구현하는 방법임을 깨닫게했습니다. 동적으로 생성 된 브랜치를 추가 한 직후 클릭 이벤트를 할당하여 문제를 해결할 수있었습니다. – WorkingWeb

6

.live 구조를 사용할 수 있습니다. 나를 위해 그것을 작동 :

$('li','ul#menu').live('click', function(){ 
    alert('Click event');  
}); 
0

를 같은 시도가 방금 봤어

1
<li onclick="selectNode(event, this);" id="${node2.nodeId}" class="closed"> 
    <span class="folder"> ${node2.name} </span> 
</li> 




function selectNode(event, nodeHtmlEl) { 
    // IE 
    if ($.browser.msie) { 
     window.event.cancelBubble = true; 
    } 
    if(event.stopPropagation) { 
     event.stopPropagation(); 
    } 
    alert("selectNode ID: " + $(nodeHtmlEl).attr("id")); 
} 
관련 문제

 관련 문제