2

mootools 1.4.5 で中クリックがあったかどうかを検出するにはどうすればよいですか?

これは通常の JS で実行できることはわかっていますが、mootools で動作させることはできません。

$('someLink').addEvent('click', function(e){
     if(e.button == 1){ // <-- .button doesn't exist in mootools. .which doesn't either
          e.stop();
          // Does some things
     }          
});
4

1 に答える 1

2

MooTools の使用addEventListenerまたはattachEventブラウザに応じて:

  • addEventListener最新のすべてのブラウザーと IE9+ で使用されます
  • attachEvent古いIE < 9で使用されます

しかし、MooTools はイベント データをカスタムの正規化されたオブジェクトにラップします。このオブジェクトは、すべてのブラウザで同じ構造と値を持ちます。残念ながら、プロパティを処理しませんbuttonが、その値を取得することは可能です。

MooTools イベント オブジェクトのプロパティから元のイベント データを取得できますeventが、このデータはブラウザによって異なる場合があります。Fee.buttonプロパティは「正規化」されておらず、古い IE ではその値が他のブラウザと異なる場合があります。

したがって、使用addEventするコードは次のようになります。

$('someLink').addEvent('mousedown', function(e){
    alert(e.event.button);       
});

(注:現在のバージョンの Firefox ブラウザーでは、中央ボタンのイベントがmousedown発生しないため、イベントを使用しています)click

ここで働くフィドル:http://jsfiddle.net/hjsAj/

于 2013-09-03T08:45:39.160 に答える