contextmenu 算是jstree里面的一个右键插件吧
在plugins里面加入contextmenu 就可以使用了。
代码大致如下,做了个判断 当type等于4的时候 ,右击不显示菜单。
$('#jstree_vehicle').jstree({
'core': {/**数据加载请看使用一**/ },
'contextmenu': {
"items": function (node) {
var temp = {
"view": {
"label": "详细",
"icon": " file",
"separator_after": true,
"action": function (data) {
$("#treeLayout").layout('expand', 'south');
var inst = $.jstree.reference(data.reference),
obj = inst.get_node(data.reference);
}
},
"showPhoneBook": {
"label": "录音",
"action": function (data) {
var inst = $.jstree.reference(data.reference),
obj = inst.get_node(data.reference);
showRecordWin(mockEvent(obj.id, obj.text));
}
}
};
/**
* 如果选择不是车辆,则不出右键菜单项
*/
var menu = {};
(this.get_type(node) == "4") && (menu = temp);
return menu;
},
"select_node": false
},
"plugins": ["types", "contextmenu"],
})
这里实际上是把菜单item作为了一个方法,根据结点类型的不同经过判断后返回不同的菜单形式,由于文件类型的我不需要做任何操作,也就不返回任何item对象了