2016-07-16 32 views
1

在(好?)的舊日子裏,jQuery將which歸一化爲分別爲左,中,右鼠標按鈕的1,2和3。瀏覽器JavaScript mousedown事件:檢測鼠標右鍵:我看「按鈕」還是「哪個」?

MDN page表明button是標準的,生產,0值1和2。

在桌面上,鉻,野生動物園,火狐,IE11和邊緣都提供既buttonwhich,所以任一個似乎會工作。

(我的方式撰寫原始JS沒有JS庫的依賴關係。我在聽的mousedown使用element.addEventListener()

哪一個是我們要使用的一個進步了?

回答

1

哪一個是我們要使用前進的人嗎?

那麼,規格說明button屬性,但which

所以這應該回答這個問題,但只要瀏覽器支持獨立於W3C規範,就可以使用which

斯科特表明bitmap 1,2,4

這也是在當前規範下buttons

被按壓的按鈕時,鼠標事件被觸發的:左鍵= 1,右按鈕= 2,中間(輪子)按鈕= 4,第4個按鈕(通常爲「瀏覽器後退」按鈕)= 8,第5個按鈕(通常爲「瀏覽器前進」按鈕)= 16。如果按下兩個或更多按鈕,則返回值的邏輯和。例如,如果按下左按鈕和右按鈕,則返回3(= 1 | 2)。

也許有趣的一些繪圖程序,有多種手勢類型..

+0

確實。優秀。該頁面上的「按鈕」非常貼近我的眼睛,但我掩蓋了它。這非常有用。 –

+0

@StevenLu我來了,因爲你的問題和鏈接,通過幫助學習,真棒;) – webdeb

0

繼續使用零基礎。

0 - left mouse button 
1 - middle mouse button 
2 - right mouse button 

舊的瀏覽器(IE 8及以下的,希望你沒有支持他們)是:

1 - left 
4 - middle 
2 - right 

一些示例代碼與測試此。

<script> 
     var clickTest = document.getElementById('clickTest'); 
     clickTest.addEventListener('mousedown', clickHandler); 

     function clickHandler(event) { 
      alert(event.button); 
     } 
</script> 

<p id="clickTest">This is a test</p> 
+0

是的,我不知道。這是一個有用的位圖(1,2,4表示它會),但似乎不支持 –

+0

@StevenLu檢查按鈕下的規格或閱讀我的答案 – webdeb

相關問題