Javascript jstree检测正在移动的多个项目
使用可检测是否同时移动多个选定节点。。。或者当前正在处理哪个节点?(可以使用shift键或ctrl键选择多个节点。) 我使用的是Javascript jstree检测正在移动的多个项目,javascript,jquery,treeview,jstree,Javascript,Jquery,Treeview,Jstree,使用可检测是否同时移动多个选定节点。。。或者当前正在处理哪个节点?(可以使用shift键或ctrl键选择多个节点。) 我使用的是move\u node.jstree事件,但是在e或data属性中,我看不到任何明显的东西,这些属性可以告诉我是否移动了多个项,或者传递给事件的节点在列表中是什么索引 $tree.bind("move_node.jstree", function (e, data) { ... } 每次节点从一个父节点移动到另一个父节点时,我都需要调用AJAX。。。这将导致服务器上的
move\u node.jstree
事件,但是在e
或data
属性中,我看不到任何明显的东西,这些属性可以告诉我是否移动了多个项,或者传递给事件的节点在列表中是什么索引
$tree.bind("move_node.jstree", function (e, data) { ... }
每次节点从一个父节点移动到另一个父节点时,我都需要调用AJAX。。。这将导致服务器上的一些处理
如果同时移动多个节点,则在服务器上为每个节点执行此处理毫无意义。。。只有在最后一个节点上运行AJAX才有意义。如果您正在使用jsTree的拖放插件(dnd),则会为每个移动的节点触发“move_node.jsTree”。由于每个节点都会触发该事件,因此无法检测到正在移动的多个项目。但是,您可以使用dnd插件的事件来检测正在移动的多个项目
$(document).on("dnd_move.vakata", function (e, data) {
console.log("DND Move"); //Triggered continuously during drag
}).bind("dnd_stop.vakata", function(e, data) { //Triggered on drag complete
console.log("Stop dnd");
console.log("Nodes being moved: "+ data.data.nodes);
});
oTree.bind("move_node.jstree", function (e, data) {
console.log("Move Event");
});
“dnd_stop.vakata”事件在move_节点事件之前触发,可能会有所帮助。不过,您必须将它们粘在一起才能进行单个AJAX调用。如果您使用jsTree的拖放插件(dnd),则会为每个移动的节点触发“move_node.jsTree”。由于每个节点都会触发该事件,因此无法检测到正在移动的多个项目。但是,您可以使用dnd插件的事件来检测正在移动的多个项目
$(document).on("dnd_move.vakata", function (e, data) {
console.log("DND Move"); //Triggered continuously during drag
}).bind("dnd_stop.vakata", function(e, data) { //Triggered on drag complete
console.log("Stop dnd");
console.log("Nodes being moved: "+ data.data.nodes);
});
oTree.bind("move_node.jstree", function (e, data) {
console.log("Move Event");
});
“dnd_stop.vakata”事件在move_节点事件之前触发,可能会有所帮助。不过,您必须将它们粘在一起,才能进行一次AJAX调用。好主意-将尝试实施并回复您好主意-将尝试实施并回复您