3

右クリックイベントにいくつかの動作を追加しようとしています。奇妙なことに、私は単にイベント処理を機能させることができません。

これはjQueryコードです:

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

イベントは発生したと思いますが、「右クリック」とは識別できません。警告メッセージは表示されません。私は何が間違っているのですか?ありがとうございます!

LE:左クリックイベントは。で識別できますev.which === 1。ですから問題ありません。

4

3 に答える 3

2

click使用する代わりにmousedown

$('body').on('mousedown', '#wrapper', null, function(ev){
    if (ev.which === 2 || ev.which === 3){
        alert("Here!");
    }
});​
于 2012-05-10T09:24:52.150 に答える
1

javascriptを使用してこれを試すことができます

document.onmousedown = ListenMouseClick
document.onmouseup = ListenMouseClick

function ListenMouseClick() 
{
if (window.event.button==2 )
    {
        alert('right click')
    }
}
于 2012-05-10T09:27:11.370 に答える
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;
});
于 2012-05-10T09:27:57.673 に答える