gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 04:08:31 24 4
gpt4 key购买 nike

使用 jstree 我想限制树的深度,不允许在某些节点上放置。

这是我的(简化的)代码:

$('#tree').jstree({
"plugins":["dnd"],
"core":{
"check_callback":true
},
"dnd":{
"copy":false
}
}).on("move_node.jstree", function(node,nodes){
console.log("node : "+nodes.node.id);
console.log("parent : "+nodes.node.parent);
console.log("position : "+nodes.position);
});

我找到了有关旧版本的文档,但没有找到 jstree 3

我尝试了经典的 return false;在 move_node 函数的某些条件下 - 它不会改变任何东西。所以我想我的问题很简单:如何在某些条件下禁用 move_node - 最好的方法是不允许拖动某些节点(即不显示它们前面的三角形 - 以及红叉而不是绿色标记)当然,这个节点仍然是可拖动的,并且与任何其他节点一样。

最佳答案

在 jsTree 中,使用“types”插件,您可以限制删除某些节点,您可以在其中指定任何节点,并通过设置“max_children”、“等参数来指定允许的子节点数量、节点内部允许的最大节点深度” max_深度”,“valid_children”。

检查这个Demo供您引用。

在最新的 jsTree v3+ 中,这个“types”插件并没有在 dnd 插件中完全实现。

如果您看到源代码行号 5036(在 dnd 插件中),则有类似这样的注释:

// TODO: now check works by checking for each node individually, how about max_children, unique, etc?
// TODO: drop somewhere else - maybe demo only?

因此需要等待jsTree的下一个版本。

关于jquery - jstree 3 - dnd - 限制删除到某个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24082992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com