【发布时间】:2017-05-31 08:54:42
【问题描述】:
我创建了一个 select_node 事件。但是当我们选择一个节点时它会触发两次。在这里,您可以看到我在 select_node 事件上设置的更改触发了两次。
在 JStree 初始化中,我还指定了一个检查事件。
$('#div_vocabulary_tree').on('select_node.jstree', function (e, data) {
alert("Select Event");
});
这是我的 JStree 初始化代码
$('#div_vocabulary_tree').jstree({
plugins: ["wholerow", "checkbox", "types", "search"],
"search": {
"case_insensitive": true
},
'checkbox': {
three_state: false, // to avoid that fact that checking a node also check others
whole_node: false, // to avoid checking the box just clicking the node
tie_selection: false // for checking without selecting and selecting without checking
},
'core': {
themes: {
responsive: !1
},
check_callback: false,
'data': arrayCollectiom,
types: {
"default": {
icon: "fa fa-folder icon-state-warning icon-lg"
},
file: {
icon: "fa fa-file icon-state-warning icon-lg"
}
}
}
}).on("check_node.jstree uncheck_node.jstree", function (e, data) {
//alert(data.node.parents);
//alert(data.node.parent);
//alert(data.node.id + ' ' + data.node.text + (data.node.state.checked ? ' CHECKED' : ' NOT CHECKED'))
})
更多信息 当我深入研究时,我发现如果我们选择第一级(根)节点,它只会触发一个,如果它的第二级它会触发 2.. 如果在第三级,select_node 事件会触发 3 次.. 所以我猜与 level 和 select_node 事件有一些联系。那么,由于关卡和选择事件的关系,我们如何解决这个问题
【问题讨论】:
-
如果这是您拥有的完整代码,它只会为我触发一次 - fiddle.jshell.net/ermakovnikolay/d1buydyp。
-
你是否也尝试过不同级别的子节点?如果是这样,那对我来说很奇怪,为什么触发不止一个取决于级别...
-
是的,你也可以在那个小提琴中尝试它们。您应该发布更多代码