为不同的节点生成不同右键菜单:
1、定义一个函数,接收目标节点(node),根据这个节点生成响应不同的右键菜单
function customMenu(node) {
// The default set of all items
var items = {
renameItem: { // The "rename" menu item
label: "Rename",
action: function () {...}
},
deleteItem: { // The "delete" menu item
label: "Delete",
action: function () {...}
}
};
if ($(node).hasClass("folder")) {
// Delete the "delete" menu item
delete items.deleteItem;
}
return items;
}
上面的函数这么调用:
$("#tree").jstree({plugins: ["contextmenu"], contextmenu: {items: customMenu}});
2、如果你不想像上面那样重复创建右键菜单,可以这样做
"label": "Delete",
"action": function (obj) {
if ($(this._get_node(obj)).hasClass("folder") return; // cancel action
}
参考资料:http://stackoverflow.com/a/4600281