理解mouseover,mouseout,mouseenter,mouseleave

mouseover定义和用法


当鼠标指针位于元素上方时,会发生 mouseover 事件。

该事件大多数时候会与 mouseout 事件一起使用。

mouseover() 方法触发 mouseover 事件,或规定当发生 mouseover 事件时运行的函数。

注释:与 mouseenter
事件不同,不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。

?





1

2

3

<div class="parent">父亲

            <div class="child">儿子<span></span></div>

</div>

?





1

2

3

4

5

6

7

8

9

10

11

<script type="text/javascript">

             $(function(){

                 var
x=1;

                 $(".parent").mouseover(function(){

                     $(".parent span").text(++x);

                 });

                  $(".parent").mouseout(function(){

                     $(".parent span").text(++x);

                 });

             });

</script>

当鼠标在父亲容器和父亲外容器之间切换时里面的值每次只会加1,当鼠标在父亲容器和儿子容器之间切换时,里面的值每次会加2,因为不论鼠标指针穿过被选元素或其子元素都会触发mouseover,mouseout同理。

mouseenter定义和用法

当鼠标指针穿过元素时,会发生 mouseenter 事件。

该事件大多数时候会与 mouseleave
事件一起使用。

mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数。

注释:与 mouseover
事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。如果鼠标指针穿过任何子元素,同样会触发 mouseover
事件。

?





1

2

3

4

5

6

7

8

9

10

11

<script type="text/javascript">

             $(function(){

                 var
x=1;

                 $(".parent").mouseenter(function(){

                     $(".parent span").text(++x);

                 });

                  $(".parent").mouseleave(function(){

                     $(".parent span").text(++x);

                 });

             });

</script>

只有当鼠标经过父亲容器的时候才会触发,经过儿子容器是没有反应的,mouseleave同样,只有离开父亲容器的时候才会促发。

但是有个问题,当用绝对定位让儿子容器偏离父亲元素的覆盖面积时,效果上mouseenter跟mouseover情况一样了:

<style type="text/css">
.parent{
position: relative;
width:150px;
height:150px;
background: red;
}
.child{
position: absolute;
top:160px;
left:160px;
width:100px;
height:100px;
background: yellow;
}
</style>

<script type="text/javascript">
$(function(){
var x=1;
$(".parent").mouseenter(function(){
$(".parent span").text(++x);
});
$(".parent").mouseleave(function(){
$(".parent span").text(++x);
});
});
</script>

使用mouseenter,鼠标在儿子容器上面经过时也会触发mouseenter,原因是这时候鼠标进入儿子容器的时候实际上就是进入了父亲容器。

时间: 2024-11-15 05:14:05

理解mouseover,mouseout,mouseenter,mouseleave的相关文章

mouseover ,mouseout ,mouseenter,mouseleave的区别

昨天写了个mouseover.mouseout 事件,发现频频闪动,研究半天,最后得出结论 mouseover/mouseout:鼠标经过该元素触发,经过其子元素再次触发 mouseenter/mouseleave:只触发一次,不论该元素有多少子元素 所以,使用该类型事件时,换成mouseenter/mouseleave

mouseover与mouseenter、 mouseout与mouseleave的区别

mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout与mouseleave 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件. 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件.

mouseover与mouseenter,mouseout与mouseleave的区别

mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout与mouseleave不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件.只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件.

jQuery mouseover与mouseenter,mouseout与mouseleave的区别

mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout与mouseleave不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件.只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件.

mouseover,mouseenter,mouseleave,mouseout

mouseover和mouseout对应 //鼠标移入移出触发该元素及子元素 mouseenter和mouseleave对应 //鼠标移入移出只触发该元素 看完例子即可知道其区别: mouseover与mouseenter不同: 1 <html> 2 <head> 3 <script type="text/javascript" src="/jquery/jquery.js"></script> 4 <scrip

mouseover与mouseenter与mousemove的区别mouseout与mouseleave的区别

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="script/jquery-1.11.0.min.js" type="text/javascript"></script> <script type="text/javascript">

曾经跳过的坑----jQuery mouseover与mouseenter,mouseout与mouseleave的区别

mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout与mouseleave 不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件. 只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件. 在div里添加有子元素,刚开始使用mouseout ,结果每每都是鼠标还没放到刚显示出来的div上它就消失了,郁闷了半天改为le

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">

Jquery事件:鼠标移入移出(mouseenter,mouseleave)

前几天帮朋友做了一个单页面,其中有个效果就是鼠标移动到头像上变换头像样式,当鼠标移出时恢复头像样式.当时没多想,脑子就蹦出了mouseover,mouseout两个方法. 但是在编写页面的过程中,无论我怎么调试只有mouseover方法可以,mouseout方法失效. 于是就google,百度寻找解决答案,可是找了好久都没找到合适的答案.只好问问同事了,同事看了我的代码后也觉得没有问题,但是怎么测都失效. 往往在一条路上遇到问题后,通过各种方式都解决不了时,我们就要调整思路转换道路. 同事跟我说