Los*_*can 17 html javascript jstree
我对JsTree的contextmenu有问题,如何从上下文菜单中删除默认元素,如Create,Delete,Rename?我想提供我自己的元素,但默认元素仍然在contextmenu.
"contextmenu" : {
"items" : {
"IsimVer" : {
"label" : "?sim De?i?tir",
"action" : function (obj) { this.rename(obj); }
},
"Ekle" : {
"label" : "Ekle",
"action" : function (obj) { this.create(obj); }
},
"Sil" : {
"label" : "Sil",
"action" : function (obj) { this.remove(obj); }
}
}
Run Code Online (Sandbox Code Playgroud)
con*_*bis 15
我几天前遇到过这个问题,但还没有确定这是一个错误还是一个功能.它可能与插件的加载顺序有关.
对我有用的是从函数返回项目:
"contextmenu" : {
"items" : function ($node) {
return {
"IsimVer" : {
"label" : "?sim De?i?tir",
"action" : function (obj) { this.rename(obj); }
},
"Ekle" : {
"label" : "Ekle",
"action" : function (obj) { this.create(obj); }
},
"Sil" : {
"label" : "Sil",
"action" : function (obj) { this.remove(obj); }
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
经过一些搜索后,似乎默认行为是您的菜单项扩展默认值,因此这是一个功能.不幸的是,文档目前缺乏关于这一点的细节.
Gor*_*rky 13
如果您想修改现有项目的标签或删除一些项目,可以使用下面的简单解决方案
"contextmenu": {
"items": function(node) {
var defaultItems = $.jstree.defaults.contextmenu.items();
defaultItems.create.label = "Ekle";
delete defaultItems.ccp;
return defaultItems;
}
}
Run Code Online (Sandbox Code Playgroud)
这会将"创建"项目标签设置为"Ekle",并从默认项目中删除剪切复制粘贴.
只需在items对象中将value设置为false即可.例如,要禁用编辑(剪切,复制,粘贴)菜单,请尝试以下操作:
contextmenu : {
items : {
"ccp" : false
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10946 次 |
最近记录: |