鼠标移入移出事件,mouseover、mouseenter区别

简单介绍:

        js中有两组鼠标移入移出事件:(旧的)mouseover、mouseout与(新的)mouseenter、mouseleave,不建议混着使用。

        两者的区别是,新的鼠标移入移出事件,去掉了冒泡和捕获的特性。而旧的鼠标移入移出事件,是存在这个特性的。他们并不存好坏,一切根据需求来使用。

两组事件的区别:

        先说旧的事件,我们在给元素绑定事件时:

let box1 = document.querySelector(".box1")
// 绑定事件方式1
    box1.onmouseover = function() {
      console.log("???????")
    }
// 绑定事件方式2
    box1.addEventListener("mouseover",function(event) {
      console.log("???????")
    })

        不管那种绑定事件方式,现在dom元素已经被监听了。只要鼠标满足条件(mouseover),事件处理函数,就会被执行。mouseover指的是:任意另一个除了box1以外的dom元素,移动到事件绑定的box1元素上时,事件处理函数就会被执行,这是事件执行机制。

        至于冒泡、捕获,就是从内向外冒泡或从外向内捕获的执行机制:

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

        现在我们给box1绑定的鼠标事件,此时我们鼠标移动到box2上时,box1的事件处理函数也会被执行,这就是从内向外冒泡的执行机制。并且box2的外层如果还有鼠标移入事件的话,其对应的事件处理函数也会被执行,直至根标签html。

        如果觉得这种不断向外的冒泡执行机制很烦,只希望外部dom元素移动到box1元素内部以后,才执行事件处理函数。此时就可以使用新的事件 mouseenter。

        大概这些。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值