我的鼠標側面有兩個按鈕,其默認行爲是「後退」和「前進」。JS特殊鼠標按鈕
我想知道的是,是否有可能在JavaScript中檢測到這些鼠標按鈕的點擊,或者這些是類似於鍵盤的「播放」,「音量提高」和「無線」的「特殊」按鈕開/關「按鈕。
我的鼠標側面有兩個按鈕,其默認行爲是「後退」和「前進」。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