3

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

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

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

问候

迪米特里斯

4

1 回答 1

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 属性应用于所选节点。在类型中,我为“选定”类型禁用了 select_node 函数。

于 2013-01-15T10:28:03.400 回答