jQuery contextmenu知道触发了什么

时间:2015-02-10 08:16:55

标签: jquery contextmenu

我目前正在使用此contextmenu插件: http://medialize.github.io/jQuery-contextMenu

现在我已经列出了一个菜单上的列表。 菜单本身正在运作。

但是当我点击列表中的某个项目时,我需要知道列表中的哪个元素触发了contextMenu。 就我现在所见,我只能看到contextMenu中的哪个项被点击,而不是哪个项触发了contextMenu。

有人知道怎么做吗?也许我需要另一个contextMenu插件?

将菜单绑定到列表的代码:

$.contextMenu({
    selector: '#productsWindow li a',
    items: $.contextMenu.fromMenu($('#productRightclickOnProductMenu'))
});

Link to jsFidle

1 个答案:

答案 0 :(得分:1)

试试这个http://jsfiddle.net/r4eqqh4b/3/ 我不得不将html菜单移动到js菜单初始化代码。 在回调函数中,option参数具有触发上下文菜单的原始元素。

JS代码

$.contextMenu({
      selector:  '#productsWindow li a',
      callback: function (key, options) 
                {
                  console.log($(options.$trigger).text());
                },
        items: {
                "Delete": { name: "Delete" },
                }
            }); 

HTML代码

<ul id="productsWindow">
    <li><a href="#" style="padding-left: 0px;">C0002 - Dummy CPU</a></li>
    <li><a href="#" style="padding-left: 0px;">R0001 - Kingston DDR18</a></li>
    <li><a href="#" style="padding-left: 0px;">C0005 - lkjlkj</a></li>
    <li><a href="#" style="padding-left: 0px;" class="">arno002 - mlkj</a></li>
    <li><a href="#" style="padding-left: 0px;">comp0001 - Een lege computer</a></li>
</ul>