jquery - 如何刷新jstree而不再次触发select_)node

标签 jquery jstree

我正在使用 jstree 插件,并进行 ajax 调用。在某个时候,我打电话

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

为了检索通过 ajax 调用创建的新节点。这工作得很好,但 select_node.jstree 在刷新时被触发。有没有办法防止 select_node 在树刷新时被触发?

最佳答案

我最终在刷新之前将标志设置为 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
    }
 });

关于jquery - 如何刷新jstree而不再次触发select_)node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139482/

相关文章:

javascript - jquery淡入淡出效果

jquery - 一个简单的 jquery 导航

javascript - jstree : delete node event not working

javascript - 发现很难让 jsTree 插件在关闭状态下初始化

jquery - 更改父 div 的复选框 attr onclick

javascript - 当div没有div的id时获取内容...只有类

javascript - 如何将数组文本框存储在cookie或本地存储中?

php - 创建用于 jstree 的有效 JSON 对象时遇到问题

jquery - jstree 3 - dnd - 限制删除到某个节点

jquery - jstree中绑定(bind)展开点击事件