2012-07-20 78 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