Jquery plugins 在树之间复制节点时,Jstree总是\u copy不起作用

Jquery plugins 在树之间复制节点时,Jstree总是\u copy不起作用,jquery-plugins,jstree,drag-and-drop,Jquery Plugins,Jstree,Drag And Drop,我真的被一个jstree问题困住了;我有两棵树,一棵是“源”树,一棵是“目标”树。“源”树是一个平面树,其中包含我希望拖到“目标”树上构建的节点。但是,在拖动之后,我需要保留这些节点,以便可以重用它们。现在,如果我在拖动之前和拖动过程中按下control键,它将执行复制功能并离开源节点。但是,我不想让用户这样做;我希望这棵树总是能复制。这就是为什么我使用这个设置,但它在我的树上不起作用。有人能帮忙吗?这是导致此问题的代码,减去数据。 谢谢 $(函数(){ $(“#SourceTree”).js

我真的被一个jstree问题困住了;我有两棵树,一棵是“源”树,一棵是“目标”树。“源”树是一个平面树,其中包含我希望拖到“目标”树上构建的节点。但是,在拖动之后,我需要保留这些节点,以便可以重用它们。现在,如果我在拖动之前和拖动过程中按下control键,它将执行复制功能并离开源节点。但是,我不想让用户这样做;我希望这棵树总是能复制。这就是为什么我使用这个设置,但它在我的树上不起作用。有人能帮忙吗?这是导致此问题的代码,减去数据。 谢谢


$(函数(){
$(“#SourceTree”).jstree({
“json_数据”:{
“ajax”:{
“url”:“Home/GetTree”,
“类型”:“职位”,
“contentType”:“application/json;charset=utf-8”,
“数据类型”:“json”,
“数据”:功能(n){
var result=“{'id':'”+(n.attr?n.attr(“id”).replace(“node_”,”):“0”)+“}”;
返回(结果);
}
}
},
“crrm”:{
“移动”:{
“始终复制”:“多树”,
//不允许在此树中移动节点
“检查移动”:功能(){
返回false;
},
}
},
“插件”:[“主题”、“json_数据”、“ui”、“类型”、“crrm”、“dnd”]
})
$(“#DestinationTree”).jstree({
“json_数据”:{
“ajax”:{
“url”:“Home/GetTree”,
“类型”:“职位”,
“contentType”:“application/json;charset=utf-8”,
“数据类型”:“json”,
“数据”:功能(n){
var result=“{'id':'”+(n.attr?n.attr(“id”).replace(“node_”,”):“0”)+“}”;
返回(结果);
}
}
},
“插件”:[“主题”、“json_数据”、“ui”、“类型”、“dnd”、“crrm”]
})
});

好的,我通过大量的尝试和错误找到了答案: 源树必须具有: 1) “dnd”和“crrm”插件与示例类似 2) move.check_move功能必须与上述功能同时存在 3) 我们不需要移动。请始终复制、删除此,此处不需要

目标树必须具有: 1) “dnd”和“crrm”插件与示例类似 2) 需要添加crrm.move.always\u copy:true,此处。 “crrm”:{ “移动”: { “总是抄袭”:正确 } },

<script type="text/javascript">
    $(function () {
        $("#SourceTree").jstree({
            "json_data": {
                "ajax": {
                    "url": "Home/GetTree",
                    "type": "POST",
                    "contentType": "application/json; charset=utf-8",
                    "dataType": "json",
                    "data": function (n) {
                        var result = "{'id':'" + (n.attr ? n.attr("id").replace("node_", "") : "0") + "'}";                            
                        return (result);
                    }
                }
            },
            "crrm": {
                "move": {
                    "always_copy": "multitree",
                    // Do not allow a node move within this tree
                    "check_move": function () {
                        return false;
                    },
                }
            },
            "plugins": ["themes", "json_data", "ui", "types", "crrm", "dnd"]
        })

        $("#DestinationTree").jstree({
            "json_data": {
                "ajax": {
                    "url": "Home/GetTree",
                    "type": "POST",
                    "contentType": "application/json; charset=utf-8",
                    "dataType": "json",
                    "data": function (n) {
                        var result = "{'id':'" + (n.attr ? n.attr("id").replace("node_", "") : "0") + "'}";
                        return (result);
                    }
                }
            },
            "plugins": ["themes", "json_data", "ui", "types", "dnd", "crrm"]
        })
    });

</script>