2012-07-20 100 views
3

我想听听取消像下面如何聆听jsTree取消选择事件?

$(document).ready(function() { 
    var jData = [{ 
     "data": { 
      "attr": { 
       "title": "A node"    
      }, 
      "title" : "A node" 
      }, 

      "children": [{ 
       "data": { 
        "title": "child" 
       }, 
       "children": [{ 
        "data": { 
         "title": "Grand Child" 
        } 
       }] 
      }] 
     }]; 

     var myTree = $("#demo1").jstree({ 
      "json_data": { 
       "data": jData 
      },   
      "plugins": ["json_data", "ui", "themeroller"] 
     }); 

     $(myTree).bind("select_node.jstree", function(evt, data) { 
      console.log("selected!"); 
     }); 
     $(myTree).bind("deselect_node.jstree", function(evt, data) { 
      console.log("deselected!"); 
     }); 

    }); 

根据文档here,“deselect_node”触发事件JsTree的事件,但似乎没有当我做类似上面的情况发生。尽管我可以听选择活动。

如何聆听jsTree取消选择事件?

回答

4

适用于我,也许是缺少的分号在一些浏览器中突破。

这里是重新写你的例子作为一个小提琴: http://jsfiddle.net/mmeah/fyDE6/

更新时间: http://jsfiddle.net/mmeah/fyDE6/2/

+3

按住Ctrl +(鼠标点击)以取消 – MMeah 2012-07-21 21:31:45

+0

感谢您的解决方案,但我们不能告诉用户按下'ctrl',同时点击节点 – 2012-07-23 06:12:52

+1

此外,我希望当使用者选择其他节点时,而不是当用户点击同一节点时,为该节点解除选择事件。 – 2012-07-23 08:59:12