JSTree 防止拖动来自 class
JSTree Prevent drag from class
下午,
我在使用 JSTree 3.0 时遇到了一些问题。我想做的是在页面加载时使用 dnd 插件防止所有节点被拖动。然后我希望能够单击编辑按钮以在所有节点上启用拖放功能。我认为实现此目的的最佳方法是在所有节点上设置一个 class,如果它包含此 class,则防止拖动。单击编辑后,class 将被删除。
我找到了一种使用 data.node.li_attr.class 获取 move_node 上节点的 class 的方法。这 returns class 但我不知道如何停止拖动操作。到目前为止请看下面的代码:
$tree.on("move_node.jstree", function(e, data){
var NodeClass = data.node.li_attr.class;
if(NodeClass == "noMove")
{
$.jstree.defaults.dnd_is_draggable(false);
}else{
$tree.jstree("open_all");
var nodeId = data.node.id;
var nodeParent = data.parent;
var level = data.node.parents.length;
getChildren(data.node.id, level);
var url = window.location.origin + window.location.pathname.replace(regexp, "/ajaxSaveCaseFamily");
$.ajax({
type:"POST",
url:url,
data:{
"_token":token,
"nodeId":nodeId,
"nodeParent":nodeParent,
"depth":level
},
success:function(data){
var query = data;
if(query.RESULT == "FAIL"){
$("#errMsg").html(query.REASON);
}
}
})
}
});
如有任何帮助,我们将不胜感激!
提前致谢!!
您正在接近这个错误 - 当事件被触发时,拖动已经开始 - 有一个函数被调用以确定节点是否可拖动(甚至在拖动开始之前):
http://www.jstree.com/api/#/?q=is_dra&f=$.jstree.defaults.dnd.is_draggable
这里有一个如何使用它的例子:
var is_dragging_allowed = false;
$('#edit_button').on('click', function () {
is_dragging_allowed = true;
});
$('#tree').jstree({
dnd : {
is_draggable : function () {
return is_dragging_allowed;
}, ...
下午, 我在使用 JSTree 3.0 时遇到了一些问题。我想做的是在页面加载时使用 dnd 插件防止所有节点被拖动。然后我希望能够单击编辑按钮以在所有节点上启用拖放功能。我认为实现此目的的最佳方法是在所有节点上设置一个 class,如果它包含此 class,则防止拖动。单击编辑后,class 将被删除。
我找到了一种使用 data.node.li_attr.class 获取 move_node 上节点的 class 的方法。这 returns class 但我不知道如何停止拖动操作。到目前为止请看下面的代码:
$tree.on("move_node.jstree", function(e, data){
var NodeClass = data.node.li_attr.class;
if(NodeClass == "noMove")
{
$.jstree.defaults.dnd_is_draggable(false);
}else{
$tree.jstree("open_all");
var nodeId = data.node.id;
var nodeParent = data.parent;
var level = data.node.parents.length;
getChildren(data.node.id, level);
var url = window.location.origin + window.location.pathname.replace(regexp, "/ajaxSaveCaseFamily");
$.ajax({
type:"POST",
url:url,
data:{
"_token":token,
"nodeId":nodeId,
"nodeParent":nodeParent,
"depth":level
},
success:function(data){
var query = data;
if(query.RESULT == "FAIL"){
$("#errMsg").html(query.REASON);
}
}
})
}
});
如有任何帮助,我们将不胜感激!
提前致谢!!
您正在接近这个错误 - 当事件被触发时,拖动已经开始 - 有一个函数被调用以确定节点是否可拖动(甚至在拖动开始之前):
http://www.jstree.com/api/#/?q=is_dra&f=$.jstree.defaults.dnd.is_draggable
这里有一个如何使用它的例子:
var is_dragging_allowed = false;
$('#edit_button').on('click', function () {
is_dragging_allowed = true;
});
$('#tree').jstree({
dnd : {
is_draggable : function () {
return is_dragging_allowed;
}, ...