2013-01-14 25 views
3

如何禁用所選節點的默認操作?如何禁用jstree中的選定節點?

當用戶選擇一個節點時,該節點不應該是可點擊的,直到選中另一個節點爲止。

這是一個非常常見的功能,但我似乎無法使其工作。

問候

季米特里斯

回答

5

我通過處理select_node.jstree事件,並使用類型插件解決了這個。

var treeConfig = { 
    plugins: ["ui", "types"], 
    types: { 
    valid_children: ["selected"], 
     types: { 
      "selected": { 
       "select_node": false 
      } 
     } 
    } 
} 

var tree = $("#navtree"); 

tree.jstree(treeConfig) 
    .bind("select_node.jstree", function (e, data){ 
     tree.find('[rel="selected"]').removeAttr('rel'); 
     data.rslt.obj.attr("rel", 'selected'); 
    }); 

基本上,在select_node上,我刪除樹中的所有rel = selected屬性,然後將rel = selected屬性應用於選定節點。在類型中,我禁用了「selected」類型的select_node函數。