如何禁用所选节点的默认操作?
当用户选择一个节点时,这个节点不应该是可点击的,直到另一个节点被选中。
这是一个非常常见的功能,但我似乎无法使其工作。
问候
迪米特里斯
我通过处理 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 函数。