3

マウスの中央ボタンを制御したいのですが、ユーザーがリンクを左クリックまたは右クリックしたときに、fancybox を表示する必要があります。

だから私はこのコードを使用します:

$(".reg").live("mousedown", function(e) {
    if ((e.which == 1) || (e.which == 2) || (e.which == 3)) {
        $.fancybox({
            href : 'register.php'
        });
    }
    e.preventDefault();
    return false;
});

しかし、このコードでは、左クリックだけで機能します。

4

1 に答える 1

-1

ここに書かれた解決策を試してくださいhttp://www.stackoverflow.com/questions/4007482/jquery-detect-if-middle-or-right-mouse-button-is-clicked-if-so-do-this

それはあなたのために働くかもしれません。

例:

$(".reg").on('mousedown', function(e) { 
   if( (e.which == 1) ) {
     alert("left button");
   } else if( (e.which == 3) ) {
     alert("right button");
   } else if( (e.which == 2) ) {
      alert("middle button"); 
   }
   e.preventDefault();
}).on('contextmenu', function(e){
   e.preventDefault();
});

これがフィドルhttp://jsfiddle.net/p49nF/です。Firefox 19 と Chrome 25 でテストしましたが、問題なく動作しています。

于 2013-03-10T16:54:55.267 に答える