私のマウスには2つのボタンがあり、そのデフォルト動作は「戻る」と「進む」です。JS特殊マウスボタン
私が知りたいのは、JavaScriptでこれらのマウスボタンのクリックを検出できるかどうか、またはこれらがキーボードの「再生」、「音量アップ」、「ワイヤレスオン/オフ "ボタンを押す。
私のマウスには2つのボタンがあり、そのデフォルト動作は「戻る」と「進む」です。JS特殊マウスボタン
私が知りたいのは、JavaScriptでこれらのマウスボタンのクリックを検出できるかどうか、またはこれらがキーボードの「再生」、「音量アップ」、「ワイヤレスオン/オフ "ボタンを押す。
私は特定のマウスイベントを認識していません。
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] = "";
}
マウスがブラウザにページを変更するように指示しているように思われるので、 'return false'または' e.preventDefault() 'を追加したいかもしれません。ブラウザがインターセプトしない場合は、利用できないことがわかります。 –
@DominicBarnes良い点。私は次の回答の更新時にそれを含めます(私はこの目的のためにフィドルを作成しています)。 –
さて、私の質問に対する答えは「いいえ」ですが、これは私がコード内の他の場所に何かを修正できるようにする主要なブラウザ(IE 8以下を除く)でサポートされている 'event.which'を実現するのに役立ちました。ありがとう! –
あなたはイベントがクビかどうかを試すことができます。http://jsfiddle.net/pimvdb/2c8gs/2/。結果のiframeにフォーカスを当て、それらのマウスボタンを押してください。 – pimvdb