当快速移动光标时,为什么mouseleave事件没有注册?

8

请查看这个演示http://jsfiddle.net/abitdodgy/7rFb6/1/

当您快速移动光标时,mouseleave事件有时不会注册。为什么会出现这种情况?

当您悬停在所选图像上时,会出现一个.controls层,允许您取消选择。但是,一旦您取消悬停,.controls层应该消失。如果您在层之间快速移动光标,则不会始终发生此情况。

尝试选择图像并在它们之间非常快地移动光标,您将注意到正在发生这种情况。如果图像已选择,则除非您悬停在其上方,否则不应显示层.controls

有什么想法吗?

2个回答

2
尝试将mouseleave事件绑定到包装器div而不是单个元素,因为它不会在.controls show()触发时悬停。
这个示例对您有用吗?
我建议还将z-index: 2;添加到.controls元素中。

1
我飞快地移动了我的激光鼠标并且它们立即响应。看起来问题与软件的特定问题无关,而是与硬件限制有关,很抱歉。

你确定吗?看看这个链接:https://dev59.com/ZWs05IYBdhLWcg3wSP9H - 看起来我不是唯一一个遇到这个问题的人,尽管这并不能解释为什么会出现这种情况。我正在使用MacBook Pro Retina,在Chrome和Safari上都出现了这个问题。 - dee
好的,只是为了确认,我在Firefox 19.0、Google Chrome 25.0.1364.152和Safari 6.0.2(8536.26.17)上测试了你和另一个人的fiddle,并且无法重现这个问题。 - Phillip Berger
很奇怪。我也可以重现其他人的问题。嗯...好的。谢谢。在决定之前,我会让它悬而未决一段时间!看看是否还有其他人可以提供意见。 - dee
可能存在问题,但在我的大约4年历史的iMac上我没有看到。正如我所说,我没有使用Mac鼠标,我有一个罗技“高性能激光鼠标”,如果这很重要的话。 - Phillip Berger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接