jQuery contextmenu know what triggered
我目前正在使用这个上下文菜单插件:
http://medialize.github.io/jQuery-contextMenu
现在我有一个列表,我在上面绑定了一个菜单。
菜单本身正在运行。
但是当我单击列表中的一个项目时,我需要知道列表中的哪个元素触发了 contextMenu。
据我现在所见,我只能看到 contextMenu 中的哪个项目被点击,但看不到哪个项目触发了 contextMenu。
有人知道怎么做吗?也许我需要另一个 contextMenu 插件?
将菜单绑定到列表的代码:
1
2 3 4 |
$.contextMenu({
selector: ‘#productsWindow li a’, items: $.contextMenu.fromMenu($(‘#productRightclickOnProductMenu’)) }); |
链接到 jsFidle
- 嗨,妈妈,请包括 jsFiddle
- 您可以为项目绑定鼠标按下事件并检查其是否为鼠标右键。 $(‘#productsWindow li a’).mousedown(function(e){ if( e.button == 2 ) { alert(‘鼠标右键!’); return false; } return true; });
- jsFiddle 包含在代码的精简版本中。
- 这确实是个好主意。问题是会有很多选择(不仅像小提琴一样删除),所以在这种情况下,我需要将选择保存在 een 全局变量中,然后在右键单击事件中检查它。
- stackoverflow.com/questions/4430015/…
试试这个 http://jsfiddle.net/r4eqqh4b/3/
我不得不将 html 菜单移动到 js 菜单初始化代码。
在回调函数选项参数中有触发上下文菜单的原始元素。
JS代码
1
2 3 4 5 6 7 8 9 10 |
$.contextMenu({
selector: ‘#productsWindow li a’, callback: function (key, options) { console.log($(options.$trigger).text()); }, items: { “Delete”: { name:”Delete” }, } }); |
HTML 代码
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<ul id=”productsWindow”>
<li> C0002 – Dummy CPU </li> </ul> |
- 初始化成功了。我已经在尝试回调,但是没有用。谢谢!
来源:https://www.codenong.com/28426942/