我正在尝试为右键单击事件添加一些行为。奇怪的是,我根本无法使事件处理工作。
这是jQuery代码:
$('body').on('click', '#wrapper', null, function(ev){
if (ev.which === 2 || ev.which === 3){
alert("Here!");
}
});
我认为该事件已被解雇,但无法将其识别为“右键”。警报消息永远不会显示。 我究竟做错了什么?谢谢你!
LE:我能够使用ev.which === 1
识别左键单击事件。所以那里没有问题。
答案 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
”
$('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;
});