【发布时间】:2012-01-23 08:33:37
【问题描述】:
假设我有两个独立的 div,A 和 B,它们在一个角落重叠:
+-----+
| |
| A |
| +-----+
+---| |
| B |
| |
+-----+
我想在鼠标离开 A 和 B 时触发一个事件。
我试过了
$("#a, #b").mouseleave(function() { ... });
但是,如果鼠标离开任一节点,这将触发事件。我希望在鼠标不在任一节点上时触发事件。
有没有简单的方法来做到这一点?我有一个想法,它涉及跟踪每个 div 上的鼠标状态的全局变量,但我希望有更优雅的东西。
【问题讨论】:
-
我以前见过这个。我认为您可以使用
.offset()为每个#a, #b计算组合 坐标,当鼠标位置不再位于组合坐标上方时,$('#a, #b').trigger('mouseleave');。 -
@JarredFarrish 这听起来比我想到的解决方案更糟糕。跟踪光标的偏移量可能非常麻烦。
标签: jquery events dom mouseleave