以编程方式选择节点后,防止 jsTree 扩展节点

Posted

技术标签:

【中文标题】以编程方式选择节点后,防止 jsTree 扩展节点【英文标题】:prevent jsTree from expanding the nodes after you select them programmatically 【发布时间】:2021-06-08 18:51:43 【问题描述】:

有没有办法在不扩展节点的情况下选择节点?每次调用该方法选择节点时,都会调用 changed.jstree 事件并展开节点。我想选择一个节点而不展开节点。

$('#jstree').jstree(true).select_node('info');


$('#jstree').on("changed.jstree", function (e, data) 
               
);

更新:

我也尝试了以下方法来选择一个节点,它仍然扩展了节点:

 $('#jstree').jstree().select_node('info', false,true)

【问题讨论】:

【参考方案1】:

我想通了。您调用下面的方法来检查默认选项,并将下面的布尔值设置为 true 以设置 prevent_open。

$('#jstree').on('ready.jstree', function (e, data) 
data.instance.select_node(['info'], false, true);
);

 //$('#jstree').jstree().select_node('info', false,true)

【讨论】:

以上是关于以编程方式选择节点后,防止 jsTree 扩展节点的主要内容,如果未能解决你的问题,请参考以下文章

JSTree 选择打开节点

jsTree:如何将选定节点的 ID 获取到 jsTree 中的根节点?

jstree checkbox,选择父节点时会自动选中子节点,选中全部子节点会自动选中父节点。怎么去掉此功能。

双jsTree实现

如何从 jsTree 隐藏根节点?

如何以编程方式仅选择用户可选择的所有文本节点