use*_*421 6 jquery mouseevent mouseenter mouseleave
似乎mouseenter/mouseleave方法不仅在鼠标的坐标进入目标的客户端矩形时触发,而且在另一个元素发现或覆盖目标时触发.这是一个问题,因为在我的mouseenter回调中,我想在目标顶部显示另一个元素E. 我也希望E在mouseleave上消失.您可以将此视为重叠的工具提示.
但是,当我将鼠标移动到目标上时,会触发mouseenter,元素E将覆盖它.此覆盖范围进一步触发了mouseleave事件,因此E将消失.这进一步触发了mouseenter事件,因此E将再次出现.....这是一个非常令人头痛的问题.
所以基本上,我想知道是否有一个版本的mouseenter/mouseleave只关心鼠标是否进入或离开目标的客户端矩形,无论目标是否被覆盖.
更新:@arunopjohny创建了一个JS小提琴来说明这个问题.看评论
在相关问题中找到完美的解决方案:忽略叠加图像上的鼠标交互
"指针 - 事件:无;" 属性将禁用该元素的任何鼠标事件.更重要的是,事件将"通过"到它下面的元素.在我的问题中使用覆盖元素E上的这个解决了问题.