我正在使用jQuery context menu plugin by Chris Domigan来应用上下文菜单。这是它的工作原理:
$('#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');
}
},
});
现在我希望左键单击而不是右键单击此上下文菜单。我在文档中找不到选项。任何想法如何做到这一点?我是否必须修改来源?
答案 0 :(得分:10)
我知道它已经过时了,但无论如何我都会回答它;)
如果要在左键单击时调用ContextMenu,只需更改行:
$(this).bind('contextmenu', function(e) {
进入这个:
$(this).bind('click', function(e) {
但是如果你想捕获更多的事件来显示ContextMenu,你可以根据jQuery .bind()引用在空格键之后添加事件名称。
例如,如果您想在左右点击上显示菜单,只需将该行更改为:
$(this).bind('contextmenu click', function(e) {
答案 1 :(得分:3)
看起来您需要更改代码。您需要更改此行:
$(this).bind('contextmenu', function(e) {
进入这个
$(this).bind('click', function(e) {
答案 2 :(得分:2)
作为源头上的标题
ContextMenu - 右键单击上下文菜单
的jQuery插件
同样在文档中没有关于如何更改点击类型的信息。我认为你唯一能做的就是扩展代码以使用基本的“click()”;)
答案 3 :(得分:1)
Matthew Manela,谢谢你的片段(此时花了好几个小时)
另外,在我的项目中,我想支持右键和左键单击。 (也许有人需要那个) 为此,您需要将代码更改为:
$(this).bind('click contextmenu', function(e) {
答案 4 :(得分:1)
我知道这对我来说太迟了。
新的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) {
....}