javascript - jstree拖拽限制节点前后root

标签 javascript jquery tree jstree drag-and-drop

在我的 jstree 中,我有一个 Root 节点,它是所有节点的父节点。我用过dnd插件。我想允许拖放到树中的任何位置,但仅限于根内部,即不在根之前或之后。

- [Root]
   - Node 1
      - Node 1.1
      - Node 1.2
   + Node 2
   - Node 3
      + Node 3.1

在查看论坛后,我发现 drag_check 事件仅适用于外部节点,不适用于树中的任何节点。为了验证相同的树节点,我们需要使用 crrm -> check_move 事件。那就是我需要帮助的地方。如果节点在 [Root] 之前或之后被删除,我想返回 false。

这是开始的 fiddle - http://jsfiddle.net/juyMR/23/

最佳答案

在当前版本的 jstree (3.0.1) 中有一个更简单的解决方案,你必须使用的一切都是

"types" : {     
       "#" : {
            "max_children" : 1
        }
    },

如果您使用类型插件,则有两种预定义类型。一个是上面使用的“#”。这自动用于树的“真实”根元素,这意味着内部使用的元素。因此,如果您在没有任何额外配置的情况下将自己的根添加为第一个节点,一切都会正常工作。

关于javascript - jstree拖拽限制节点前后root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024417/

相关文章:

javascript - 使用javascript更改ul元素的字体大小

包含在 HTML 页面中的 Javascript D3 树可视化

python - 查找是否所有叶节点都处于相同高度

jquery - toggleClass 中断转换

jquery - 绝对定位元素在 IE 中消失

tree - 完整二叉树中的叶节点数

javascript - 提交表单后将引导模式显示为 "thank you"

javascript - 菜单 3 级仅水平 HTML/CSS/JavaScript + 推送内容

javascript - php动态生成json

javascript - 用于 DOM 操作的原型(prototype)或 jQuery(客户端动态内容)