我已经通过拖放设置了一个 jstree。现在我可以将一个节点拖到一个预定义的 div 中。但是树中的节点被删除了。如何拖出一个节点并让该节点仍然保留在树中?
带有 dnd 插件的 JsTree,总是复制对我不起作用。我认为这是因为我会下降到一个 div 而不是另一棵树。
编辑:添加代码
$(function () {
$("#tree").jstree({
"crrm" : {
"move" : {
"check_move" : function (m) { //do not allow messing up the tree!
return false;
},
"always_copy" : "true"
}
},
"json_data" : {
"progressive_render" : true,
"ajax" : {
"url" : "lookupInstruments.php",
"data": function(n) {
// the result is fed to the AJAX request 'data' option
return {"id": n.attr ? n.attr("id") : "root_null_null_-1"};
}
}
},
"dnd" : {
"drop_finish" : function (data) {
//alert(data.o.attr("ptype"));
drop(data.o);
},
"drop_check" : function (data) {
if(data.o.attr("dragable") == "0") {
return false;
} else {
return true;
};
},
},
"plugins" : [ "themes", "json_data", "crrm", "dnd" ]
});
});
编辑2:已解决,希望这对其他人有帮助:
问题解决了,我不得不在 drop 函数中克隆 drop 对象。
function drop(dObj) {
var dropObj = dObj.clone();
...
}