未能在Mozilla Firefox中识别右键单击事件

时间:2012-05-10 09:05:22

标签: javascript jquery

我正在尝试为右键单击事件添加一些行为。奇怪的是,我根本无法使事件处理工作。

这是jQuery代码:

$('body').on('click', '#wrapper', null, function(ev){
    if (ev.which === 2 || ev.which === 3){
        alert("Here!");
    }
});

我认为该事件已被解雇,但无法将其识别为“右键”。警报消息永远不会显示。 我究竟做错了什么?谢谢你!

LE:我能够使用ev.which === 1识别左键单击事件。所以那里没有问题。

3 个答案:

答案 0 :(得分:2)

而不是click使用mousedown

$('body').on('mousedown', '#wrapper', null, function(ev){
    if (ev.which === 2 || ev.which === 3){
        alert("Here!");
    }
});​

答案 1 :(得分:1)

使用javascript你可以尝试这个

document.onmousedown = ListenMouseClick
document.onmouseup = ListenMouseClick

function ListenMouseClick() 
{
if (window.event.button==2 )
    {
        alert('right click')
    }
}

答案 2 :(得分:1)

轻松使用三元运算符和“mousedown”或“contextmenu

http://jsfiddle.net/49Ldy/

$('body').on('mousedown','#wrapper',function(ev){
   var evt = ev.which === 3 ? alert('rightClick') : alert('someOtherButton');
});

或:

$('body').on('mousedown','#wrapper',function(ev){
    var evt = ev.which === 3 ? alert('rightClick') : (ev.which === 2 ? alert('auxClick') : alert('someOtherButton'));
});

或:

$('body').on('contextmenu','#wrapper',function(){
    alert('rightClick');
    return false;
});