2017-05-10 3 views
0

아래 코드는 제가 사용하는 코드입니다. 노드가 삭제되면 delete_node.jstree가 실행되지 않습니다.jstree : 노드 이벤트가 작동하지 않습니다.

 $('#tree-container').jstree({ 
    'plugins' : ['contextmenu'], 
    "check_callback" : true, 
    'core' : { 
     'data' : { 
      "url" : sTreeUrl + "?operation=gettree", 
      "dataType" : "json" , 
      'data' : function (node) { 
        return { 'parent' : node.id, 'tenantid' : tenantid }; 
       } 
     } 
    } 
    }); 
    $('#tree-container').on("delete_node.jstree", function (e, data) { 
     alert("s"); 
    }); 

해결 방법?

답변

0

거의가 - 'check_callback': truecore 속성 아래에 넣어야합니다. 데모 확인 - Fiddle Demo

$('#tree-container').jstree({ 
    'plugins' : ['contextmenu'],  
    'core' : { 
     'check_callback' : true, 
     ... 
    } 
}); 
0

their example에 따르면, 그렇게 같은 jstree() 인스턴스화하기 전에 이벤트 위임 체인 :

$('#tree-container').on("delete_node.jstree", function (e, data) { // listen for the event 
    alert("s"); 
}).jstree({ //create the instance 
    'plugins' : ['contextmenu'], 
    "check_callback" : true, 
    'core' : { 
     'data' : { 
      "url" : sTreeUrl + "?operation=gettree", 
      "dataType" : "json" , 
      'data' : function (node) { 
        return { 'parent' : node.id, 'tenantid' : tenantid }; 
       } 
     } 
    } 
}); 

나는 이것을 테스트하지했습니다 자신을 그것을 사용하지 않은하지만 도움이 될 수 있습니다. 예를 들어 이벤트가 등록되기 전에 jstree를 인스턴스화하여 이벤트 수신 방법에 따라 문제를 일으킬 수 있습니다 (버전을 생성하지 않을 때 인스턴스를 만들 때 후크를 추가 할 수 있음).