【问题标题】:JsTree with dnd plugin, always copy带 dnd 插件的 JsTree,总是复制
【发布时间】:2010-09-17 10:51:06
【问题描述】:

我有 2 棵树使用 jsTree 和 dnd 插件。
我希望每个拖动操作都是副本而不是移动。
有一个“copy_modifier”在按下修饰键时可以正常工作,但我希望复制成为没有修饰符的默认行为。 有什么想法吗?

谢谢,
阿德里安

【问题讨论】:

    标签: jstree drag-and-drop


    【解决方案1】:

    http://groups.google.com/group/jstree找到解决方案
    我在配置 jsTree 时添加了以下部分:
    “crrm”:{ “移动”:{“always_copy”:“多树”} }

    希望这会有所帮助,
    阿德里安

    【讨论】:

      【解决方案2】:

      新版本的另一种解决方案。它可以工作,但没有经过全面测试。

      "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;
          }
      }
      

      【讨论】:

        【解决方案3】:

        Adrian 的解决方案不适用于新版本。 有那个 dnd 插件总是复制标志 dnd.always_copy

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

        • 在页面上保留全局变量标志

        • 处理 copy_node.jstree 事件并从 data.is_multi(data是事件函数的第二个arg)

        • 实现check_callback 函数,如果操作是delete_node 并且设置了您的标志,则取消设置您的标志并返回false,防止从dnd 中删除。

        【讨论】:

          猜你喜欢
          • 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
          相关资源
          最近更新 更多