如何禁用jstree中的选定节点?

时间:2013-01-14 08:25:46

标签: jstree

如何禁用所选节点的默认操作?

当用户选择节点时,该节点不应该是可点击的,直到选择了另一个节点。

这是一个非常常见的功能,但我似乎无法使其发挥作用。

此致

迪米瑞斯

1 个答案:

答案 0 :(得分:5)

我通过处理select_node.jstree事件并使用types插件解决了这个问题。

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函数。