您的位置:首页 > Web前端 > JQuery

jQuery中hover与mouseover和mouseout的区别分析

2015-12-24 00:00 871 查看
本文实例分析了jQuery中hover与mouseover和mouseout的区别。分享给大家供大家参考,具体如下:

以前一直以为在jquery中其实mouseover和mouseout两个事件等于hover事件。两个没什么区别,应该是一样的。但昨天一个动画效果才让我见识了,这两个并不能等同。

<div class="wrapper">
<div class="img"></div>
<div class="text"></div>
</div>
<div class="point"></div>


在wrapper上加事件,当鼠标移动到wrapper上的时候让class="point"的层放大。但如果用mouseover和mouseout事件的话,当鼠标移动到wrapper层后,point层会变大,但当鼠标在img和text层之间进行移动的时候,point层会变大变小,不停的变化。这并不是我们想要的结果,我们想要的是只要鼠标在wrapper层上,无论是img还是text上,point就变大,但在鼠标未移出wrapper层的情况下,point层不变小。

慢慢思路也清晰了,我们不用mouseover和mouseout而用hover问题就解决了。

这么简单的问题我们竟然花了好长时间才解决,真是夸张。写篇以作纪念。

补充:后来我师父说其实在jquery源码中有这么一段:

hover: function( fnOver, fnOut ) {
 return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
}


也就是说hover!=mouseover+mouseout。但hover=mouseenter+mouseleave。

希望本文所述对大家jQuery程序设计有所帮助。

您可能感兴趣的文章:

jQuery实现hover合成事件的方法
jQuery中hover方法和toggle方法使用指南
jquery中的常用事件bind、hover、toggle等示例介绍
jQuery的live()方法对hover事件的处理示例
jQuery中mouseover事件用法实例
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: