JavaScript 中 mouseenter 与mouseover 区别

mouseenter 与mouseover 区别

mouseenter与mouseover有什么不同,也许可以从两方面去讲。

看他们是是否支持冒泡或者是否为事件的触发时机;

  只有当鼠标指针在对象的边界之外,用户把鼠标移动到对象的边界内时,事件mouseenter才触发。

  • 如果鼠标当时正在边界内,用户想要触发该事件,需要把鼠标移动到对象边界外再移动到边界内。
  • 因此,mouseenter不支持事件冒泡,所以导致在一个元素的子元素上进入或离开的时候会触发其mouseover和mouseout事件,但是却不会触发mouseenter和mouseleave事件。

图示:


演示代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="../jquery-3.3.1.js"></script>
    <style>
        div{
            width: 200px;
            height: 160px;
            float: left;
            border: 1px solid hotpink;
            margin: 10px 10px;
        }
    </style>
</head>
<body>
<script>
    $(function () {
        let tep1=0;
        let tep2=0;
        $("#dv1>p").mouseover(function () {
            $(tep1+=1);
            $("#dv1>p").text(tep1);
        });
        $("#dv1").mouseover(function () {
            $(tep1+=1);
            $("#dv1>p").text(tep1);
        });

        $("#dv2>p").mouseenter(function () {
            $(tep2+=1);
            $("#dv2>p").text(tep2);
        });
        $("#dv2").mouseenter(function () {
            $(tep2+=1);
            $("#dv2>p").text(tep2);
        });
    });
</script>
<div id="dv1"><p style="background-color: pink;">()</p></div>
<div id="dv2"><p style="background-color: pink;">()</p></div>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值