左键单击jQUery上下文菜单

我正在使用Chris Domigan的jQuery上下文菜单插件来应用上下文菜单。 这是它的工作原理:

$('#contacts tbody tr').contextMenu('myMenu1', { bindings: { 'copy': function(t) { alert('Trigger was '+t.id+'\nAction was Copy'); }, 'delete': function(t) { alert('Trigger was '+t.id+'\nAction was Delete'); } }, }); 

现在我希望这个上下文菜单出现在左键单击而不是右键单击。 我在doc中找不到一个选项。 任何想法如何做到这一点? 我必须修改源吗?

作为源头上的标题

ContextMenu – 用于右键单击上下文菜单的jQuery插件

同样在文档中没有关于如何更改点击类型的信息。 我认为你唯一能做的就是扩展代码以使用基本的“click()”;)

我知道它已经老了,但无论如何我都会回答它;)

如果要在左键单击时调用ContextMenu,只需更改行:

 $(this).bind('contextmenu', function(e) { 

进入这个:

 $(this).bind('click', function(e) { 

但是如果你想捕获更多事件来显示ContextMenu,你可以根据jQuery .bind()引用在空格键之后添加事件名称。

例如,如果要在左右单击显示菜单,只需将行更改为:

 $(this).bind('contextmenu click', function(e) { 

看起来您需要更改代码。 您需要更改此行:

  $(this).bind('contextmenu', function(e) { 

进入这个

  $(this).bind('click', function(e) { 

Matthew Manela,谢谢你的片段(此时花了好几个小时)

此外,在我的项目中,我想支持右键和左键单击。 (也许有人会需要)为此,您需要将代码更改为:

 $(this).bind('click contextmenu', function(e) { 

我知道这对我来说太迟了。

新的contextjs插件使用’on’而不是bind,因为’on’可以像这样定义选择器:

 $(document)on('contextmenu','selector',function(e){ 

我用它来定义我的’左’或’右’:

 if(type === 'right'){ $(document).on('contextmenu', selector, function (e) { ....} else{ $(document).on('click', selector, function (e) { ....}