如何刷新jstree而不再触发select_)节点

Emi*_*lie 3 jquery jstree

我正在使用jstree插件,带有ajax调用.在某些时候,我打电话

$("#tree").jstree("refresh");
Run Code Online (Sandbox Code Playgroud)

为了检索通过ajax调用创建的新节点.这很有效,只有select_node.jstree在刷新时被触发.有没有办法阻止在树刷新时触发select_node?

Emi*_*lie 6

我最后在刷新之前使用设置标志为true,并且在select_node事件触发器中,仅在标志设置为false时执行逻辑,否则将其设置为false并且不执行任何其他操作:

refresh = true;
$("#tree").jstree("refresh");

[...]

$("#tree").jstree({...}).bind("select_node.jstree", function (e, data) {
    if (refresh) {
        refresh = false;
    } else {
       // do my thing
    }
 });
Run Code Online (Sandbox Code Playgroud)