是否可以捕获jstree上下文菜单项的点击?
我从json的文件加载像这样的上下文菜单
{
"item1" : {
"label" : "item 1",
"action" : "function(){alert('item 1')}"
},
"item2" : {
"label" : "item 2",
"action" : "function(){alert('item 2')}"
}
}
我想捕获上下文菜单项的单击以评估该函数并执行它。这可能吗?
答案 0 :(得分:0)
我这样解决了:
$("#tree").jstree({
"plugins" : [ "json_data"],
"json_data" : {
"ajax" : {
"type": 'GET',
"url": "json_data.json";
"success": function (new_data) {
return new_data;
}
}
},
"contextmenu" : {
"items" : customMenu
}
});
function customMenu(node) {
var items = {};
$.ajax({
url: "contextmenu.json",
dataType: 'script',
async : false,
success : function( script ){
eval(script)
items = menuItems;
}
});
return items;
}
// file: "contextmenu.json"
var menuItems = {
"item1" : {
"label" : "item 1",
"action" : function(){alert('item 1')}
},
"item2" : {
"label" : "item 2",
"action" : function(){alert('item 2')}
}
}