首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带免打扰插件的JsTree,始终复制

带免打扰插件的JsTree,始终复制
EN

Stack Overflow用户
提问于 2010-09-17 18:51:06
回答 3查看 3.7K关注 0票数 3

我有2棵树使用jsTree和dnd插件。

我希望每个拖动操作都是一个副本,而不是一个移动。

当按下修改键时,有一个"copy_modifier“可以正常工作,但我希望复制成为默认行为,而不是修改键。有什么想法吗?

谢谢,

禤浩焯

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-21 03:05:24

http://groups.google.com/group/jstree上找到了解决方案

我在配置jsTree时添加了以下部分:

"crrm":{ "move":{ "always_copy":"multitree“}}

希望这能帮上忙

禤浩焯

票数 3
EN

Stack Overflow用户

发布于 2014-08-11 12:47:08

禤浩焯的解决方案在新版本中不起作用。dnd插件总是复制标志dnd.always_copy

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

  • 在页面上保留全局变量标志
  • 处理copy_node.jstree事件并从data.is_multi更新全局标志(数据是事件函数的第二个参数)
  • 实现check_callback函数,如果操作为delete_node并且设置了标志,则取消设置标志并返回false,以防止从dnd中删除。
票数 2
EN

Stack Overflow用户

发布于 2015-05-25 23:43:33

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

代码语言:javascript
复制
"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;
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3734680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档