3

我有一个包含几个过渡元素的应用程序。这些相同的元素对 mouseenter 和 mouseleave 事件作出反应。这些事件在转换期间被停用,以避免用户与传输中的元素交互。

当这些元素之一再次处于活动状态时位于鼠标下方时,问题就出现了。一旦移动的元素不再移动,它们应该再次注册鼠标悬停在它们上面。但是由于 mouseenter 是在元素被停用时发生的,所以一旦元素再次被激活,该事件就不会被触发。

如果您随后将鼠标从元素上移开,然后再移开,它就可以正常工作。这显然不是很用户友好。

有没有办法注册鼠标悬停在元素上而不移动鼠标?

有关上述元素的更多信息:所讨论的元素是包含大量内容的大型 div。它们实际上是我动态添加和删除的应用程序中的页面。我有一个自定义滚动条,显示该区域是否有焦点,如果没有则隐藏。

当鼠标移入页面内容区域时,会显示自定义滚动条。一旦它移出,滚动条就会再次隐藏。在动画运行期间,所有事件都处于非活动状态。

问题是当页面动画时鼠标移动到页面区域,滚动条不(也不应该)显示。然而,一旦动画完成,应用程序应该注册用户正在页面区域内悬停,而无需将鼠标移出和移回该空间内。

4

1 回答 1

4

使用mousemove事件跟踪鼠标的位置,并在使用重新启用行为时在最后一个已知的鼠标位置测试元素

document.elementFromPoint(x, y)
于 2012-08-21T13:24:10.367 回答