欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在 Safari/Chrome EN 中提出 "鼠标悬停"(MouseOver MouseOut)问题

最编程 2024-05-23 10:40:13
...

这是一个奇怪的,我很惊讶我从来没有注意到它。它的工作方式是这样的,如果您的鼠标静止,并且一个div以编程方式在鼠标下面移动,mouseover事件将不会在Chrome/Safari中触发-- mouseout也是如此。当然,当div移动到鼠标下面时,如果您稍微移动鼠标,它就会像预期的那样工作。

我创建了一个基于jsFiddle的演示。只要让div在你的鼠标下振荡,在火狐上工作得很好,而不是在Chrome或Safari中--还没有在IE上进行测试。

我倾向于这个解决方案..。基本上,使用以下方法滚动我自己的mouseentermouseleave事件:

代码语言:javascript
复制
if (mouseX > divLeft && mouseX < divRight &&
    mouseY > divTop && mouseY < divBottom){
    // mouse is inside div
}

我说mouseenter,然后离开,因为这个方法不会冒泡

我想知道是否还有其他人对此有想法..。我有一种感觉,有一个简单的方法绕过它,但到目前为止,谷歌还没有发现任何东西。