jquery中 mouseout()与mouseleave()的区别

当鼠标指针从元素上移开时,发生 mouseout 事件。该事件大多数时候会与 mouseover 事件一起使用。
mouseout() 方法触发 mouseout 事件,或规定当发生 mouseout 事件时运行的函数。
mouseout() 事件,不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。
而 mouseleave 事件,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
请看下面例子的演示我们就很清楚的理解了这二个事件的区别。

例子

 $("li").each(function(i) {
            //删除的鼠标划过的显示与隐藏
            $(this).mouseover(function() {
                $(this).find(".del").fadeIn(10);
            })
            $(this).mouseleave(function() {
                $(this).find(".del").fadeOut(10);
            })
        })

上面的代码中如果不是用的mouseleave而是mouseout的话你会发现尚未离开类名的.del这个DIV这个DIV有时候就会闪动。那是因为你可能离开了该DIV的子元素,所以会出发mouseout事件。具体mouseleave和mouseout两者之间的区别主要有以下两点:

1.不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。

2.只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。

例子

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
div {
  width: 150px;
  height: 150px;
  background-color: green;
  margin-top: 10px;
}
.children {
  width: 80px;
  height: 80px;
  background-color: red;
}
span {
  font-size: 12px;
  color: red;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function () {
  $(".mouseout").mouseout(function () {
    $("span").text("mouseout事件触发了");
  })
  $(".mouseleave").mouseleave(function () {
    $("span").text("mouseleave事件触发了");
  })
});
</script>
</head>
<body>
  <div class="mouseout">
    <div class="children"></div>
  </div>
  <div class="mouseleave">
    <div class="children"></div>
  </div>
  <span></span>
</body>
</html>

上面的代码测试可能不够便利,不过也可以测试出,当鼠标指针从匹配元素或者匹配元素的子元素移出来的时候都可以触发mouseout事件,但是只有鼠标指针从匹配元素移出时才能触发mouseleave事件。

时间: 2024-09-20 00:01:14

jquery中 mouseout()与mouseleave()的区别的相关文章

jquery中attr和prop的区别分析

 这篇文章主要介绍了jquery中attr和prop的区别分析的相关资料,需要的朋友可以参考下     在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: • 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. • 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. 上面的描述也许有点模糊,举几个例子就知道了.

jQuery中serializeArray()与serialize()的区别实例分析_jquery

本文实例讲述了jQuery中serializeArray()与serialize()的区别.分享给大家供大家参考,具体如下: serialize()序列化表单元素为字符串,用于 Ajax 请求. serializeArray()序列化表单元素为JSON数据. 具体实例如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht

jQuery中parents()和parent()的区别分析_jquery

本文实例分析了jQuery中parents()和parent()的区别,分享给大家供大家参考.具体分析如下: 其实在jQuery中,函数或者选择器的概念都是很容易理解的,只要对API手册有足够的熟练就能够很容易分辨,标题中的函数其实也是如此,不过咱们这里还是做一些简单的介绍,毕竟这样可能更为方便一些. 一.parents()函数: 此函数能够获取匹配元素的所有父元素,代码示例: 复制代码 代码如下: $(".mayi").parents().css("color",

ajax的异步请求-Jquery中$.post和$.ajax的区别在哪里呢

问题描述 Jquery中$.post和$.ajax的区别在哪里呢 一直搞不懂这两种请求到底区别在哪呢,求大神指教,两种我接收数据的时候都是用的eval去解析的. 解决方案 $.post就是post请求,$.ajax可以通过配置type为get/post(及其他可用的http方法,如get,delete)指定提交方法,返回数据jquery一般会通过响应头来判断类型自动生成对应的数据,如响应头为application/json会自动转为json对象,其他当做text/html处理 $.post最终使

Jquery中offset()和position()的区别分析_jquery

本文实例分析了Jquery中offset()和position()的区别.分享给大家供大家参考.具体分析如下: 一.Jquery中offset() 获取匹配元素在当前视口的相对偏移. 总是计算相对于文档的位置,无论元素的父元素或祖先元素的position属性是什么. 返回的对象包含两个整形属性:top 和 left.此方法只对可见元素有效.   例如: <!DOCTYPE html> <html> <head> <style> p { margin-left

谈谈Jquery中的children find 的区别有哪些_jquery

精华:find方法能找子孙,children方法只能找儿子 一.Jquery中children 语法 .children(selector) 说明 expr是表达式,可选参数,所有选择器中的表达式都可以用在这,比如按标签名"div",按类名".class",按序号":first"等等,如果表达式为空,那么返回的是所有的孩子,返回的结果仍为jQuery对象.  二.Jquery中find find() 方法获得当前元素集合中每个元素的后代,通过选择

浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别_jquery

hide和fadeOut 显示效果有什么区别? show和fadeIn显示效果都一样? 很多朋友在学习jQuery的时候 会遇到这个问题 ,hide和 fadeOut都可以带有参数: $(selector).hide(speed,callback); $(selector).fadeOut(speed,callback); 首先我们从名字上就可以看出 hide是隐藏而fadeOut是淡出,当然名字不能看出具体的区别,只能体现他们是不同的而已.但是当我们把参数 speed 设置稍微长一些就可以看出

jquery中mouseenter和mouseleave事件示例

但是由于javascript的dom事件传播机制,不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件,不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件. 所有jquery提供了mouseenter和mouseleave事件来终止事件传播,使事件只发生在选中的元素上. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件. 例  代码如下 复制代码 <!DOCTYPE h

jQuery中closest和parents的区别分析

  本文给大家介绍jquery中parents()和closest()用法与区别介绍,在jquery中parents()查找父级元素删除的时候,发现它不包含根元素,于是用了closest(),效果不错,下面我来给大家具体的介绍一下 jQuery中closest和parents从表现上来看都是说查找上线元素的一些内容了,但如果说仔细可能各位不懂,下面我们一起来看看closest和parents区别. 1.父级 parent()--唯一父级元素,可能是0个或1个元素. 2.祖先 parents(se