Javascript 如何仅为级别2以外的节点打开jsTree contextmenu?
所以我的问题是,我只需要在嵌套在第二层或更深层的树节点上设置contextmenu。例如: 我想在节点“1.1.1”、“1.1.1.1”等上使用默认上下文菜单。。。但我不希望右键单击“1”或“1.1”时出现此上下文菜单 我应该如何选择在哪些节点上显示,哪些节点不显示 我发现了一些类似的例子:Javascript 如何仅为级别2以外的节点打开jsTree contextmenu?,javascript,jquery,jstree,Javascript,Jquery,Jstree,所以我的问题是,我只需要在嵌套在第二层或更深层的树节点上设置contextmenu。例如: 我想在节点“1.1.1”、“1.1.1.1”等上使用默认上下文菜单。。。但我不希望右键单击“1”或“1.1”时出现此上下文菜单 我应该如何选择在哪些节点上显示,哪些节点不显示 我发现了一些类似的例子: function customMenu(node) { //Show a different label for renaming files and folders if ($(node).
function customMenu(node) {
//Show a different label for renaming files and folders
if ($(node).hasClass("jstree-closed") || $(node).hasClass("jstree-open")) { //If node is a folder
var renameLabel = "Rename Folder";
}
else {
var renameLabel = "Rename File";
}
var items = {
"upload" : {
"label" : "Upload File",
"action" : function () { ... }
},
"rename" : {
"label" : renameLabel, //Different label (defined above) will be shown depending on node type
"action" : function () { ... }
},
"delete" : {
"label" : "Delete File",
"action" : function () { ... }
}
};
//If node is a folder do not show the "delete" menu item
if ($(node).hasClass("jstree-closed") || $(node).hasClass("jstree-open")) {
delete items.remove;
}
return items;
}
我需要这样的东西,但我不知道如何检查我的文件夹嵌套在哪个级别。我的示例中的检查是针对“文件夹或文件”
有人有什么线索吗?我认为jsTree没有现成的方法,因此您可以使用下面的代码抑制1级和2级节点的菜单显示。检查演示-
.on('show_contextmenu.jstree',函数(e,引用,元素){
if(reference.node.parents.length<3){
$('.vakata context').remove();
}
});
我认为jsTree没有现成的方法,因此您可以使用下面的代码抑制1级和2级节点的菜单显示。检查演示-
.on('show_contextmenu.jstree',函数(e,引用,元素){
if(reference.node.parents.length<3){
$('.vakata context').remove();
}
});
.on('show_contextmenu.jstree', function(e, reference, element) {
if ( reference.node.parents.length < 3 ) {
$('.vakata-context').remove();
}
});