mouseover 和 mouseenter

本文详细探讨了CSS3中mouseover和mouseenter事件的区别,包括它们的触发机制和冒泡行为。mouseover事件在鼠标移入元素及其子元素时都会触发,而mouseenter事件仅在真正进入元素本身时触发,不考虑子元素。同样,mouseout和mouseleave事件在离开元素及子元素时的行为也有所不同。通过示例1至4,展示了不同场景下这些事件的触发顺序和效果,帮助理解它们的使用场景。
摘要由CSDN通过智能技术生成

mouseover 和 mouseenter

mouseover 经过自身盒子触发,经过子盒子也触发。

【mouseover会冒泡,鼠标从外部移入子元素或从父元素移入子元素,都会先触发子元素的mouseover再触发父元素的mouseover。】

mouseenter 只经过自身盒子触发,不冒泡。

mouseout 和 mouseleave

mouseout : 离开自身盒子触发自身的mouseout,进入子盒子也触发自身的mouseout。

【 mouseout冒泡,从子元素进入父元素时,即触发子元素的mouseout,也会触发父元素的mouseout。】

mouseleave:仅在自身盒子时被触发,不冒泡。

示例1

结论:对于同一个元素,鼠标移入后,会先触发mouseover,再触发mouseenter。

    <style>
      #parent {
     
        width: 200px;
        height: 200px;
        background-color: bisque;
      }
    </style>
    
	<div id="parent"></div>
	
    <script>
      var parent = document.getElementById("parent");

      parent.addEventListener("mouseenter", function (e) {
     
        console.log("===mouseenter parent===");
      });
      
      parent.addEventListener("mouseover", function (e) {
     
        console.log("===mouseover parent===");
      }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值