【发布时间】:2011-09-06 07:55:36
【问题描述】:
我想实现这样的行为,即当鼠标指针悬停在某个 div 上时触发 mouseover/hover 事件,但是当鼠标指针离开 div 时不会触发 mouseout 事件,而是在离开区域 10px 时触发在 div 这边。
有什么方法可以在不涉及创建更大的父 div 以将 mouseout 事件绑定到的情况下实现这一点?
【问题讨论】:
-
那么mouseout和mouseover的区域不一样?
-
听起来你必须实现自己的悬停版本,通过跟踪鼠标位置并检查它相对于 div 的位置。
-
我不知道是否有直接的方法可以做到这一点,但可能会在 mouseover 事件上创建一个包装 div 并在 mouseout 时将其删除。 jquery 有一个 .wrap/.unwrap 函数。那么显然包装器 div 会有一个填充或其他东西。您可以在包装器 div 上为 mouseout 事件创建一个委托事件,它应该以这种方式触发。
-
@Matt - 有趣,没想到。
标签: javascript jquery