创建动态上下文菜单
这是上下文菜单的Html代码
<div class="simple-context-menu">Right Click Me</div>
Javascript文件显示在下面
// setup:
// Install JQuery Plugin from here:
// https://github.com/swisnl/jQuery-contextMenu
// DOCS: http://swisnl.github.io/jQuery-contextMenu/
var menu1_item_names = ['item1', 'item2', 'item3'];
var menu2_item_names = ['item4', 'item5', 'item6'];
$.contextMenu({
selector: '.test-context-menu',
build: function($trigger, e) {
var options = {
callback: function(key, options) {
alert("Clicked on " + key + " on element " + options.$trigger.attr("id"));
// TODO:
// Display NAME of the menu item clicked(example: item1)
//alert("Clicked on item: " + JSON.stringify(options.items));
return false;
},
// start with an empty map
items: {
"fold1": {
"name": "menu 1",
"items": {}
},
"fold2": {}
}
};
$.each(menu1_item_names, function(k, v) {
options.items.fold1.items[k] = {
name: v
};
});
if (typeof menu2_item_names !== 'undefined' && menu2_item_names.length > 0) {
options.items.fold2 = {
"name": "menu 2",
"items": {}
}
$.each(menu2_item_names, function(k, v) {
options.items.fold2.items[k] = {
name: v
};
});
}
options.items.sep1 = "---------";
options.items.quit = {
name: "Quit"
};
return options;
}
});
注:当您运行它并右键单击上面的文本字段时,会出现一个上下文菜单
点击任何菜单项,你会看到(警报框),菜单项索引位置,例如0,1 2…
而不是中单击的项目名称
我想看看菜单项的名称
以及上下文菜单的JSFiddle。
提前感谢
您可以在回调函数上使用此函数:
options.$selected.text()