2012-01-06 62 views
1

我有一个幻灯片播放,滚动div来显示幻灯片中的下一张照片。我还设置了一个功能,在鼠标不活动时隐藏照片说明,但在鼠标移动时显示说明。Webkit触发mousemove事件意外(鼠标不移动)

在Firefox中,没有问题,div会滚动到新照片并且不会触发mousemove事件。但是,在窗口中使用鼠标的Webkit中,不活动的情况下,每当div滚动到新照片时,会触发两三个mousemove事件。

以下是您可以查看的网站。导航到webkit浏览器中的投资组合页面(我想可以打开控制台),并且在照片循环时,页脚应该保持隐藏状态。 http://96.0.13.132/

+0

为了将来的参考,你应该首先发布网站,所以你的问题没有得到票在同一时间关闭。 – 2012-01-06 17:20:49

回答

13

是的,webkit浏览器这样做,我认为每个浏览器都应该这样做。因为滚动后光标位于不同的位置,并且可以避免我作为开发人员遇到的许多问题。

无论如何,如果你想避免它在你的脚本中的后果,只需记录最新的clientX和clientY位置,并检查自上次“mousemove”以来是否发生了变化;这样的事情:

window.addEventListener("mousemove",function(e){ 
    if(window.lastX !== e.clientX || window.lastY !== e.clientY){ 
     // Code when the (physical) mouse actually moves 
    } 
    window.lastX = e.clientX 
    window.lastY = e.clientY 
}) 
+0

伊万,非常感谢你,这正是我需要的! – curiouser 2012-01-06 18:29:41

相关问题