2013-02-26 86 views
11

我有一個用戶在網站上進行交互的框的網格。如果他們點擊一個框,它會改變顏色。有相當多的盒子,我希望它不那麼繁瑣,所以有這樣的功能會很好:如果鼠標按鈕關閉,並且將鼠標懸停在盒子上,它會改變狀態。有什麼想法嗎?檢查懸停時鼠標按鍵是否關閉?

+0

這裏也有一些很好的答案在這裏: http://stackoverflow.com/questions/2349764/jquery-is-mousedown-on-mouseover – MattDiamant 2013-02-26 20:33:10

回答

16

您可以使用傳遞給懸停回調的事件的buttons屬性來檢查觸發事件時按下了哪些鼠標按鈕。

例如,檢測時用鼠標輸入元素是否被按下左鍵,你可以使用:

myElement.addEventListener("mouseover", function(e){ 
    if(e.buttons == 1 || e.buttons == 3){ 
     //do some stuff 
    } 
}) 

下面是這種思想的一個示範:http://jsfiddle.net/Ah6pw/

按住鼠標左鍵並通過不同的列表項移動鼠標。

+2

這隻適用於IE瀏覽器。 – Jonathan 2014-10-28 12:21:31

+1

@Jonathan true,但它可以在其他瀏覽器中使用'.which'而不是'.buttons'正常工作。 – Oak 2015-05-11 07:39:04

+0

@Jonathan我還沒有廣泛測試,但這似乎也適用於我的Firefox。 – 2016-11-17 11:40:54