【问题标题】:jsTree drag_check not workingjsTree drag_check 不工作
【发布时间】:2013-01-17 13:05:32
【问题描述】:

我有一个使用 dnd 插件的 jsTree,允许拖放树项以更改它们的位置。但是我注意到索引是错误的,这取决于您是在对象之前还是之后删除项目,并且在谷歌搜索了几个小时关于如何解决索引问题之后,我得出的结论是禁用之后会更容易除非它是子集的最后一个树节点

我正在使用以下代码来调用配置dnd插件:

    'dnd': {
        'drop_finish': function (data) {
            alert("hi");
        },
        'drag_check': function (data) {
            alert('hi1');
            if (data.r.attr('id') == 'RootNode') {
                return false;
            } else if (data.r.hasClass('jstree-last')) {
                return {
                    after: true,
                    before: true,
                    inside: true
                };
            } else {
                return {
                    after: false,
                    before: true,
                    inside: true
                };
            }
        }
    }

但是,hi1 永远不会收到警报(但 hi 在我丢弃该项目后会发出警报)所以我仍然可以在元素之后丢弃。我已经尝试找出如何调用拖动检查并尝试了许多方法,例如添加 jstree-drop 类和本网站上建议的其他内容,但我无法让 hi1 得到警报。

如果能解决这个问题,我们将不胜感激

谢谢

【问题讨论】:

    标签: javascript jquery drag-and-drop treeview jstree


    【解决方案1】:

    看起来“dnd”插件用于外部拖放。 您可以使用check_move 来防止移动到节点中的最后一个位置:

    "crrm": {
        "move": {
            "check_move": function(m) {
            var length = $(m.np).find("ul:first > li").length,
                afterLast = length == m.cp;
            if (length > 0 && afterLast) {
                return false;
            }
            return true;                            
         }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多