2011-10-26 3 views
4

私のマウスには2つのボタンがあり、そのデフォルト動作は「戻る」と「進む」です。JS特殊マウスボタン

私が知りたいのは、JavaScriptでこれらのマウスボタンのクリックを検出できるかどうか、またはこれらがキーボードの「再生」、「音量アップ」、「ワイヤレスオン/オフ "ボタンを押す。

+0

あなたはイベントがクビかどうかを試すことができます。http://jsfiddle.net/pimvdb/2c8gs/2/。結果のiframeにフォーカスを当て、それらのマウスボタンを押してください。 – pimvdb

答えて

3

私は特定のマウスイベントを認識していません。

mousedownイベントのeventオブジェクトを調べると、簡単に見つけられます。 フルスクリーンフィドル:http://jsfiddle.net/dWfDL/1/show/

var text = typeof document.body.textContent != "undefined" ? "textContent" : "innerText"; 
window.onmousedown = function(e){ 
    //Inspect the `e` object, for example using a for(var i in e) loop, or: 
    //console.log(e); 
    var s = []; 
    for(var i in e){ 
     try{ 
      if(e[i] !== null){ 
       if(i.toUpperCase() == i) continue; //Ignore constants 
       if(typeof e[i] == "function") continue; //Ignore functions 
       if(e[i].parentNode) continue; //Ignore elements 
       if(e[i] === window) continue; //Ignore Window 
      } 
      s.push(i + " =\t\t" + e[i]); 
     }catch(err){s.push(i + " \tERROR reading property.")} 
    } 
    e.preventDefault(); 
    s = s.join("\n") + "\n\n"; 
    document.body[text] = s + document.body[text]; 
} 
//Double-click to wipe contents 
window.ondblclick = function(){ 
    document.body[text] = ""; 
} 
+1

マウスがブラウザにページを変更するように指示しているように思われるので、 'return false'または' e.preventDefault() 'を追加したいかもしれません。ブラウザがインターセプトしない場合は、利用できないことがわかります。 –

+0

@DominicBarnes良い点。私は次の回答の更新時にそれを含めます(私はこの目的のためにフィドルを作成しています)。 –

+0

さて、私の質問に対する答えは「いいえ」ですが、これは私がコード内の他の場所に何かを修正できるようにする主要なブラウザ(IE 8以下を除く)でサポートされている 'event.which'を実現するのに役立ちました。ありがとう! –