我想在網路環境中使用羅技滑鼠的額外按鈕。
我使用的是 Ubuntu(但其他作業系統中也有類似的東西),我可以將這些按鈕與作業系統操作綁定。 ->答案:右鍵是 Javascript 事件嗎?
我想在 javascript 監聽這個按鈕,就像普通按鈕一樣:
element.addEventListener(function(evt){
switch(evt.which){
case 1: //left click
case 2: //middle click
case 3: //right click
case XX: //other buttons clicks
}
}
https://stackoverflow.com/a/2405857/1064270
我看到的唯一解決方案是瀏覽器擴展本機訊息傳遞,至少在 Chrome 上是這樣。
所以我正在尋找一條更快的路!
答案1
首先,這個問題可能應該在 stackoverflow 上而不是在這裡。
但我會回答這個問題,因為當我尋找類似的東西時,它突然出現在谷歌中,所以其他人可能會想知道。
有一個標準規格用於檢測最多兩個額外的滑鼠按鈕(左、中(滾輪)、右除外)。
問題是它還沒有被任何瀏覽器實現,可能是因為它可能會對詐騙「陷阱」產生影響。
在event
傳遞給處理程序的物件中,有一個.buttons
屬性,它是按下哪些按鈕的點陣圖(一次用於多個按鈕)。
document.addEventListener('mousedown', function(ev) {
console.log('MB1', ev.buttons & 1) // 1 if clicked, 0 if not
console.log('MB2', ev.buttons & 2)
console.log('MB3', ev.buttons & 4)
console.log('MB4', ev.buttons & 8) // usually browser-back
console.log('MB5', ev.buttons & 16)// usually browser-forward
})
最後兩個現在不會在任何瀏覽器中註冊,而且您無法覆蓋瀏覽器後退和瀏覽器前進事件,因此如果您單擊這些按鈕(如果它們設定為該行為),它將更改頁面。