且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将多个项目添加到上下文菜单

更新时间:2023-12-06 08:34:16

项的参数类型是object.

items's parameter type is object.

http://medialize.github.io/jQuery-contextMenu/docs.html

尝试一下.

$('.context-menu-one').on('contextmenu', function(e){
    var data = $("#strngTitle").text();
    $.contextMenu({
        selector: '.context-menu-one',
        items: {
            data: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
            data2: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
            data3: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
        }
    });
});

已更新.

以下代码表示对象.

{}

代码中的数据"是对象的键, 那么以下代码将无法使用.

"data" in your code is key of object, then following code cannot use.

{
    data: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
    data: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
}

为什么要使用循环??

Why want you to use loop???

如果您希望不同的上下文菜单具有相同的作用. 试试这个.

If you want different context menu have same role. Try this.

var dataObjectValue
     ={ name: data, callback: function (key, opt) { alert("Clicked on " + data); } };

var dataObjectForItems={};

for(var i=0; i<2; i++){
    dataObjectForItems["data"+i]=dataObjectValue;
}

// result expected of dataObjectForItems
//{
//    data1: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
//    data2: { name: data, callback: function (key, opt) { alert("Clicked on " + data); } }
//}

$('.context-menu-one').on('contextmenu', function(e){
    var data = $("#strngTitle").text();
    $.contextMenu({
        selector: '.context-menu-one',
        items: dataObjectForItems 
    });
});