mouseenter(fn)和mouseleave、mouseover和mouseout的的区别

	$(‘.box1‘).mouseenter(function(){//穿入事件mouseenter
		$(this).css(‘background‘,‘red‘);
	}).mouseleave(function(){
		$(this).css(‘background‘,‘green‘);
	})

再看看看一张效果图片:

这貌似和移入、移出事件区别。如果在.box1添加一个层,会怎么样了???

<div class="box1">
	<p></p>
</div>
<div class="box2"></div>

 $(‘.box1‘).mouseover(function(){   //子节点会被触发  $(‘.box2‘).html(function(index,value){   return value + ‘1‘;  }); });

效果

可以看移到了灰色的区域(p标签),也触发了mouseover,

在看看mouseenter:

<div class="box1">
	<p></p>
</div>
<div class="box2"></div>

 $(‘.box1‘).mouseenter(function(){   //子节点不会被触发
  $(‘.box2‘).html(function(index,value){
   return value + ‘1‘;
  });
 });

可以得出结论:mouseover是会触发子节点的;而mouseenter不会触发子节点。

那么mouseout和mouseleave的区别是不是这样了,经过测试也这样的,不再过多累赘。

总结:在一个层时候,mouseover、mouseout和mouseenter、mouseleave的没区别

  在多个层的时候,两组是有本质区别,注意使用情况

时间: 2024-11-08 20:21:21

mouseenter(fn)和mouseleave、mouseover和mouseout的的区别的相关文章

mouseover、mouseout和mouseenter、mouseleave

这里直接把<Javascript 高级程序设计(第三版)>中的解释贴出来: mouseover:在鼠标指针位于一个元素外部,然后用户将其首次移入另一个元素边界之内时触发.不能通过键盘触发这个事件. mouseout:在鼠标指针位于一个元素上方,然后用户将其移入另一个元素时触发.又移入的另一个元素可能位于前一个元素的外部,也可能是这个元素的子元素.不能通过键盘触发这个事件. mouseenter:在鼠标光标从元素外部首次移动到元素范围之内时触发.这个事件不冒泡,而且在光标移动到后代元素上时不会触

JavaScript里mouseenter和mouseleave与mouseover和mouseout的区别

今天总结下mouseenter.mouseleave.mouseover.mouseout的区别,之前一直懵着用没仔细研究他们的区别,结果终于踢到铁板了. 上代码: <style> div { margin: 0 auto; } .box { box-sizing: border-box; padding: 30px 0; width: 300px; border: 1px solid #005AA0; } .sonBox { width: 150px; height: 150px; back

Jquery hover方法使用及 mouseenter与mouseleave和 mouseover与mouseout的区别

定义和用法 hover() 方法规定当鼠标指针悬停在被选元素上时要运行的两个函数. jQuery 1.7 版本前该方法触发 mouseenter 和 mouseleave 事件. jQuery 1.8 版本后该方法触发 mouseover和 mouseout事件. 语法 $(selector).hover(inFunction,outFunction)//inFunction 必需,规定 mouseover 事件发生时运行的函数:outFunction 可选,规定 mouseout 事件发生时运

mouseenter与mouseover mouseleave与mouseout 之间的区别

mouseenter与mouseover的区别 鼠标指针穿过被选元素或其子元素,会触发 mouseover 事件. 鼠标指针只在穿过被选元素时,才会触发 mouseenter 事件. mouseleave与mouseout的区别亦同上 鼠标指针离开当前元素或者当前元素的子元素时触发事件. 鼠标指针只在离开当前元素时才会触发.

mouseover、mouseout,mouseenter、mouseleave区别

心情压抑的一天,我想好好的. mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout与mouseleave 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件. 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件. mouseover.mouseout事件冒泡

mouseover和mouseout、mouseenter和mouseleave

又一个傻傻分不清楚的东东~ 现实真是一个问题天天有的世界~本以为我对js中的事件还是比较了解的,对于早就接触的mouse事件,更是觉得得心应手了~但是现实却给了我一记重拳! 我自身工作中遇到的犯二的故事就不说了...实在太...所以就进入主题! 简单的记录一下mouse事件中比较容易搞混的: mouseover和mouseout他们是一对,而mouseenter和mouseleave是另外一对! 对于大牛们来说,我这么分组应该一目了然了,然而对于新手可能可以往下看看. mouseover和mou

mouseover,mouseout,mouseenter,mouseleave的区别

相信做前端开发的都听说过“冒泡型事件”吧,<JavaScript高级程序设计>第九章有详细的讲述,但是,在学习的时候一知半解,也没详细去理解,导致最近在工作中碰到了问题:有许多 li 标签,标签上有2个按钮,当且仅当鼠标移入 li 时才会显示上面的2个按钮,如下图,左边是默认状态,右边是鼠标移入状态,开始使用的是 mouseover 和 mouseout ,结果鼠标移动到按钮上时,按钮会出现闪烁的情况.      后来对比了mouseover,mouseout,mouseenter,mouse

jquery mouseover与mouseenter,mouserout与mouseleave的区别

mouseover与mouseenter不论鼠标指针穿过被选元素或其子元素,都会触发mouseover事件只有在鼠标指针穿过被选元素时,才会触发mouseenter事件 <!doctype html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="jquery-1.6.4.min.js">

js当中mouseover和mouseout多次触发解决办法

问题描述 我希望当鼠标移动到id1上的时候,id2显示,当鼠标离开id1的时候,id2显示.问题如下: 1.当鼠标从id1上移动到id2上的时候,id由有显示变为不显示,然后变为显示 2.当鼠标从id2上移动到id1上的时候, id2有显示变为不显示,然后变为显示 我希望的是当鼠标在id1或者id2上移动的时候,id2一直显示,不发生变化. <script type="text/javascript" src="https://code.jquery.com/jquer