我试图为右键单击事件添加一些行为。奇怪的是,我根本无法使事件处理工作。
这是jQuery代码:
$('body').on('click', '#wrapper', null, function(ev){
if (ev.which === 2 || ev.which === 3){
alert("Here!");
}
});我认为事件是被触发的,但它不能被识别为“右键”。从未显示过警报消息。我做错了什么?谢谢你!
LE:我可以用ev.which === 1__来识别左键事件。所以这里没有问题。
发布于 2012-05-10 09:24:52
使用click代替mousedown
$('body').on('mousedown', '#wrapper', null, function(ev){
if (ev.which === 2 || ev.which === 3){
alert("Here!");
}
});发布于 2012-05-10 09:27:11
使用javascript,您可以尝试以下操作
document.onmousedown = ListenMouseClick
document.onmouseup = ListenMouseClick
function ListenMouseClick()
{
if (window.event.button==2 )
{
alert('right click')
}
}发布于 2012-05-10 09:27:57
易于使用三元运算符和'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;
});https://stackoverflow.com/questions/10530769
复制相似问题