我正在使用jsTree 3.0.0
,我需要以以下一种方式修改上下文:
- 更改默认项的标签语言,禁用某些默认项并添加新项目。
- 重写所有项并将创建、重命名和删除函数绑定到一些新项。
我尝试了几种方法,但没有任何作用。例如,当我点击创建时,这会返回Uncaught TypeError:Object [object global] has no method 'create'
。
"contextmenu":{
"items": function($node) {
return {
createItem : {
"label" : "Create New Branch",
"action" : function(obj) { this.create(obj); alert(obj.text())},
"_class" : "class"
},
renameItem : {
"label" : "Rename Branch",
"action" : function(obj) { this.rename(obj);}
},
deleteItem : {
"label" : "Remove Branch",
"action" : function(obj) { this.remove(obj); }
}
};
}
},
如果我按照下一个示例尝试添加一个项目,我会失去默认菜单项:items : {
"create_folder" : {
"separator_before" : false,
"separator_after" : false,
"label" : "Create Folder",
"action" : function (obj) { alert(1); /* this is the tree, obj is the node */ }
}
}
我哪里做错了吗?
var tree = $.jstree.reference(obj.reference);
当在不同的树之间共享相同的上下文菜单配置时,这尤其有用。..(可能还有其他方法) - Myobis