2013-02-14 3 views
2

안녕하세요 저는 JsTree를 처음 사용하며 이벤트에 대한 질문이 있습니다. Tree 구조의 내용을 LeftSide로, 트리의 RightSide로 노드 하나를 클릭 한 후에 렌더링되는 내용을 봅시다. 내가 할 수있는 것은 LeftSide에서 한 노드를 클릭하면 RightSide에서 서브 페이지가 렌더링된다는 것입니다.JsTree Click 이벤트

이제 RightSide (이 "무언가"는 LeftSide의 노드 이름이 될 수 있음)에서 무언가를 클릭하면 LeftSide에서 노드를 클릭하는 것처럼 RightSide의 서브 페이지가 렌더링됩니다 .

나는 내 질문을 명확하게할지 확신하지 못합니다.

요점은 내 질문을 설명하고 웹에서 검색하는 방법을 모르겠다는 것입니다. 정확한 답변을 모르는 경우 검색 할 방향을 알려주는 것입니다. (공식 문서를 읽으라고하면 전체 문서가 아닌 부분을 지정하십시오.)

어떤 도움을 주셔서 감사합니다 !!!

+0

jsTree의 오른쪽 부분입니까? – Radek

답변

2

select_node.jstree 이벤트를 수신하고 선택한 노드를 가져 오려고합니다. 그러면 페이지의 오른쪽에 원하는 것을 할 수 있습니다. bind

$("#jstree_id").on('select_node.jstree', function(e) { 
    // gather ids of selected nodes 
    var selected_ids = []; 
    $("#jstree_id").jstree('get_selected').each(function() { 
     selected_ids.push(this.id); 
    }); 
    // do summit with them 
    $('#RightSide').text('selected '+selected_ids); 
}); 

편집은 on을 위하여 사용이 중지되었습니다.

+2

와우, 누군가가이 공룡에 관한 질문에 답할 것으로 기대하지 않았다. 나는 몇 달 전에 나의 해결책을 찾았지만 당신의 해결책이 효과가 있다고 믿는다. 대답 해줘서 고마워. –

+0

고마워. :). 많은 자습서에서는 "켜기"를 사용해야하지만 작동하지 않는다고 말합니다. –

+0

@BradBird는이 답변의 요점이 아니며 몇 살인지의 효과 만 나타냅니다 .'bind'는 jQuery 3.0에서 사용되지 않습니다. –

2

"select_node.jstree"이벤트가 최선의 해결책이라고 생각하지 않습니다. 트리를 새로 고칠 때도 화재가 발생하기 때문입니다. 아래 스 니펫 코드는 내가 사용하는 방법입니다.

$("#categories_tree").on("click", ".jstree-anchor", function(e) { 
    var id = $("#categories_tree").jstree(true).get_node($(this)).id; 
} 
+0

코드에 구문 문제가 있습니다. 필요해); 끝에 – user3885927