2013-02-26 87 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