監聽瀏覽器中的滑鼠額外按鈕

監聽瀏覽器中的滑鼠額外按鈕

我想在網路環境中使用羅技滑鼠的額外按鈕。

我使用的是 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
})

最後兩個現在不會在任何瀏覽器中註冊,而且您無法覆蓋瀏覽器後退和瀏覽器前進事件,因此如果您單擊這些按鈕(如果它們設定為該行為),它將更改頁面。

相關內容