代码之家  ›  专栏  ›  技术社区  ›  Adrian Magdas

带有dnd插件的JsTree,总是复制

  •  3
  • Adrian Magdas  · 技术社区  · 14 年前


    我希望每个拖动操作都是一个副本而不是一个移动。
    有什么想法吗?


    3 回复  |  直到 14 年前
        1
  •  3
  •   Adrian Magdas    14 年前

    找到了解决方案 http://groups.google.com/group/jstree
    我在配置jsTree时添加了以下部分:
    “move”:{“always\u copy”:“multitree”}


        2
  •  2
  •   Gorky    10 年前

    Adrian的解决方案在新版本中不起作用。 有一个dnd插件总是复制标志 dnd.always_copy

    设置此标志将使所有拖放复制操作而不是移动。但是,如果您正在寻找一种解决方案,其中需要在dnd上移动内部树元素,但需要将树间dnd作为副本,那么这里有一个技巧:

    • 实施 check_callback 函数,如果操作是delete\u node,并且您的标志被设置为unset your flag,则返回false,以防止从dnd中删除。

        3
  •  2
  •   Diode    10 年前

    "core": {
        "check_callback": function (operation, node, node_parent, node_position, more) {
            if (more) {
                if (more.is_multi) {
                    more.origin.settings.dnd.always_copy = true;
                } else {
                    more.origin.settings.dnd.always_copy = false;
                }
            }
            return true;
        }
    }