mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡过程。对应的移除事件是mouseout

mouseenter:当鼠标移除元素本身(不包含元素的子元素)会触发事件,也就是不会冒泡,对应的移除事件是mouseleave

mouseover和mouseenter的异同体现在两个方面:

1. 是否支持冒泡

2.事件的触发时机

运行下面的代码,我们可以直观的发现两者的区别:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>* {padding: 0;margin: 0;}.father {/* margin: 100px auto; */width: 500px;height: 500px;background-color: pink;}.son {width: 200px;height: 200px;background-color: purple;/* transform: translateX(-50px); */}</style></head><body><div class="father"><div class="son"></div></div><script>let father = document.querySelector('.father')let son = document.querySelector('.son')// 事件捕获// mouseenter——不支持事件冒泡father.addEventListener('mouseenter', function() {console.log('father-mouseenter')})son.addEventListener('mouseenter', function(e) {// e.stopPropagation()console.log('son-mouseenter')})// mouseleave——支持事件冒泡// father.addEventListener('mouseleave', function() {//   console.log('father-mouseleave')// })// son.addEventListener('mouseleave', function(e) {//   // e.stopPropagation()//   console.log('son-mouseleave')// })</script></body>
</html>

mouseenter事件的情况:
            当鼠标从元素的边界之外移入元素的边界之内时,事件被触发。而鼠标本身在元素边界内时,要触发该事件,必须先将鼠标移出元素边界外,再次移入才能触发。

mouseover事件的情况:
            当鼠标从元素的边界之外移入元素的边界之内时,事件被触发。如果移到父元素里面的子元素,事件也会被触发

所以我们在使用鼠标经过事件一般会使用

mouseenter  和 mouseleave    没有冒泡效果(推荐)

而mouseover 和 mouseout     会有冒泡效果

以上希望可以对你有所帮助!!!

mouseover 和 mouseenter的区别相关推荐

  1. Vue 实现 Hover 功能( mouseover 与 mouseenter 的区别)

    一.mouseover 和 mouseenter 的区别 mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡过程.对应的移除事件是 mouseout mouseente ...

  2. JavaScript---常用的鼠标事件mouseover 和mouseenter的区别

    一. mouseover 和mouseenter的区别 mouseover:  只要鼠标指针移入事件所绑定的元素或其子元素,都会触发该事件 mouseenter: 只有鼠标指针移入事件所绑定的元素时, ...

  3. JS——mouseover和mouseenter的区别

    区别 举例 补充 区别 mouseover:鼠标移入事件所绑定的元素或其子元素时,都会触发该事件.(具有冒泡特性) mouseenter:只有鼠标移入事件所绑定的元素时,才会触发该事件.(不具有冒泡特 ...

  4. 鼠标事件(mouseover和mouseenter的区别)

    mouseover和mouseenter都是鼠标移到元素身上就触发,区别是 1.mouseover经过自身盒子触发,经过子盒子也触发,拥有冒泡特性 2.mouseenter只经过自身盒子触发,没有冒泡 ...

  5. Javascript的mouseover和mouseenter的区别

    1.当鼠标移动到元素上时就会触发mouseenter事件 2.区别: mouseover 鼠标经过自身盒子会触发,经过子盒子还会触发.mouseenter只会经过自身盒子触发 之所以这样,就是因为mo ...

  6. mouseover和mouseenter的区别

    mouseenter鼠标事件 当鼠标移动到元素上时就会触发 mouseenter 事件 类似mouseover,它们两者之间的差别是 mouseover 鼠标经过自身盒子会触发,经过子盒子还会触发.m ...

  7. mouseover、mouseenter

    mouseover.mouseenter 相信大家刚开始学mouseover和mouseenter的时候,总感觉这两个效果是一样的! 但是仔细一想,既然是一样的,那么为什么要写两个呢? 那么问题就来了 ...

  8. 鼠标事件(mouseover和mouseenter)

    下拉菜单案例 前言 一.mouseover和mouseenter的不同点 1.事件的触发时机 2.是否支持冒泡 二.案例 总结 前言 自己做下拉菜单的时候,突然发现mouseover和mouseent ...

  9. mouseover和mouseenter、mouseout和mouseleave

    详细介绍请看:mouseenter与mouseover为何这般纠缠不清? mouseover和mouseenter的区别 mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发, ...

  10. jQuery面试题-区别mouseover和mouseenter的不同之处(看了也许对你有好处)

    文章目录 1.简单阐述mouseover和mouseenter的不同之处 2.代码实例测试 3.效果图 1.简单阐述mouseover和mouseenter的不同之处 mouseover:在移入子元素 ...

最新文章

  1. 获取Java系统相关信息
  2. 反编译工具dnspy的安装与使用;
  3. 【已解决】CMake Error: Cannot determine link language for target “xxx“. CMake Error: CMake can not determ
  4. 我的2019年度总结
  5. 计算机桌面有黑边怎么调整,电脑屏幕旁边有黑色框如何恢复_电脑两边黑边怎么还原-win7之家...
  6. 立足共赢 | 开宸引领绿色会展经济新形式
  7. C# async await
  8. 手机浏览器自动播放视频video(设置autoplay无效)的解决方案
  9. mysqlplus 批量插入_解决SpringBoot+Druid+Mybatis Plus 执行MySQL批量插入,更新 报错的问题...
  10. react WangEditor 编辑器阿里云OSS上传图片
  11. 服务器字段长度修改,postgresql 修改字段长度的操作
  12. 计算机学报发表论文格式,计算机学报论文格式(24页)-原创力文档
  13. Mysql数据库开启远程连接
  14. 高产攻关保全年粮丰 国稻种芯·中国水稻节:广西多措并举
  15. 如何完全禁止win10自动更新(自动升级)
  16. go语言零知识证明gnark框架
  17. 设置短域名跳转目标网址,长链接缩短的方法
  18. Android在CMD中输入adb命令,提示“'adb' 不是内部或外部命令,也不是可运行的程序”的解决方法
  19. ajax get传递数组参数吗,ajax 传递数组参数
  20. 如何给JButton添加图标,并使图标沾满整个按钮。

热门文章

  1. lighttools用透镜旋转手动创建菲尼尔透镜
  2. ftp红帽子 linux,红帽linux安装FTP服务
  3. 在未知社交网络中最大化影响力(论文翻译)
  4. 《平衡掌控者 游戏数值战斗设计》学习笔记(一)游戏研发概要
  5. 2000元以内办公用计算机,2000元以内买什么笔记本 便宜实用笔记本【推荐】
  6. SolidWorks零件图转工程图
  7. 用于温度测量的热敏电阻
  8. Blender的简单技巧——阵列、旋转、数组和曲线
  9. 嵌入式C语言数据类型
  10. 多云环境无处不在,但其管理才刚开始