【问题标题】:jsTree -prevent parent node from opening when creating a new nodejsTree - 创建新节点时阻止父节点打开
【发布时间】:2013-08-23 22:35:50
【问题描述】:

我有一个用 jquery jstree(1.0) 创建的树。 当我在树中的某个父节点内创建新节点时,默认情况下会打开父节点。我想知道如何防止父节点打开。 我尝试使用“open_onmove”:false,但它不起作用。

【问题讨论】:

    标签: jquery jstree


    【解决方案1】:

    这是标准行为,查看代码我看不到绕过它的选项。假设您使用的是element.jstree('create'..) 命令,您通常希望立即调出输入字段来输入新文件夹名称,如果它不展开父文件夹,那看起来会很奇怪。

    我不确定你的具体情况是什么,但在 jstree 1.0-RC3 中的 1340 左右查看代码

    if(p.length && p.hasClass("jstree-closed")) { this.open_node(p, false, true); }
    

    p 是父级。所以基本上它正在打开节点,如果还没有打开的话。如果您不想修改 jstree 文件本身(您可能想要),我建议您尝试在添加新节点之前尝试删除或操作父元素的 .jstree-closed 类的解决方法,然后替换element.jstree('create'..)jstree.create_node(...)的回调部分中的类,无论你使用哪个。

    【讨论】:

    • 我确实使用了一种解决方法..我监听“before.jstree”事件,如果操作是“open_node”,那么我会阻止操作在所需的情况下执行(由prevent_open 变量)。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    相关资源
    最近更新 更多