Mar
07

今天在写一个鼠标悬停下拉菜单过程中,遇到一个很抓狂的问题。既然是鼠标悬停效果,那就用到了jQuery的2个事件,mouseover和mouseout(在jQuery 1.3的API手册中只有这两个鼠标移入移出事件)。

先看下使用mouseout的效果:

Tips:您可以在运行代码前对其进行修改!

我们发现使用mouseout时,鼠标只要在容器里一移动,就被出发了hide(),其实是因为mouseout事件也会影响到子元素,也就是事件可能被同时绑定到了该容器的子元素上,所以鼠标移出每个子元素也都会触发我们的hide()。

经过网上一番调研~从jQuery 1.3开始新增了2个mouse事件,mouseenter和mouseleave。现在我们使用mouseleave事件,这个事件在jQuery手册上好像并没有提到…囧
我们来看一下mouseleave事件是否能够解决这个问题。

Tips:您可以在运行代码前对其进行修改!

好了,我们的问题解决了,需要的朋友各取所需吧。

本文参考了jquery中解决div mouseout事件冒泡的问题

欢迎转载,务必请记得保留出处,否则就如看帖不回帖一样,是不道德的!
本文地址:http://www.steveluo.name/jquery-mouseleave-instead-of-mouseout/

您可能还对这些文章感兴趣:

9 Comments

Make A Comment

Comments RSS Feed   TrackBack URL

Leave a comment

top
58 queries. 0.349 seconds.