我们知道鼠标经过和离开的事件有俩种:

mouseenter与mouseover,那么这里俩个事件有什么区别呢?

mouseenter:给谁注册的事件,就必须经过谁,才能触发该事件

简单来说mouseenter不能冒泡,也就是说经过其子盒子,不会触发它的事件

而mouseover刚好相反,因为mouseover会冒泡。所以当你经过它的子盒子它也会触发相应事件:

<style>*{margin: 0;padding: 0;}div{position: relative;margin-top: 50px;margin-left: 50px;width: 300px;height: 300px;background-color: aquamarine;}a{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);display: block;width: 100px;height: 100px;border: 5px solid #000;padding: 5px;background-color: brown;}em{position: absolute;top: 5000px;}
</style>
<body><div><a href="javascript:;">son</a>father</div>
</body>
<script>
const div = document.querySelector('div')
const a = document.querySelector('a')
div.addEventListener('mouseover',function(){console.log('触发了div');this.style.backgroundColor = 'blue'
})
</script>

当鼠标经过son时,必然会先经过father,经过father触发了一次,经过son因为冒泡原理又触发了一次father:

如果我们使用mouseenter呢?

const div = document.querySelector('div')
const a = document.querySelector('a')
div.addEventListener('mouseenter',function(){console.log('触发了div');this.style.backgroundColor = 'blue'
})

当鼠标经过son时,必然会先经过father,经过father触发了一次,经过son之后,因为mouseenter不能冒泡,所以没有触发father:

我们可以根据实际情况来判断到底使用哪种鼠标经过事件 

mouseenter --> 鼠标经过(不冒泡) mouseleave -->鼠标离开(不冒泡)
mouseover -->鼠标经过(冒泡) mouseout -->鼠标离开(冒泡)

简单了解mouseover与mouseenter的使用场景相关推荐

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

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

  2. java mouseenter_关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别

    最近在做的在线考试和课程商城都遇到这样的问题:就是鼠标滑过的时候出现一个层,当鼠标滑到当前层的话mouseover和mouseout在低版本的浏览器会出现闪动的现象,解决这个现象的办法有许多,不过我觉 ...

  3. JavaScript中的mouseover与mouseenter,mouseout和mouseleave的区别

    1.mouseover与mouseenter mouseover事件:不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. mouseenter事件:只有在鼠标指针穿过被选元素时, ...

  4. 鼠标事件(mouseover和mouseenter)

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

  5. mouseover和mouseenter的异同

    引言 在自己动手练习一些项目实例的时候,发现mouseover和mouseenter这俩事件功能有点相似,但应用场景却不同. 所以想整篇博客梳理梳理 mouseover和mouseenter的不同点: ...

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

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

  7. mouseover与mouseenter,mouseout和mouseleave的区别

    mouseover与mouseenter,mouseout和mouseleave的区别 Introdece 想起来这个就来气.举个例子,做轮播图的时候,当鼠标移动到前后的按钮的时候要清除掉定时器.我的 ...

  8. mouseover与mouseenter,mouseout与mouseleave的区别

    mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...

  9. Unity3d 简单的小球沿贝塞尔曲线运动(适合场景漫游使用)

        简单的小球沿贝塞尔曲线运动,适合场景漫游使用 贝塞尔曲线:(贝塞尔曲线的基本想法部分摘自http://blog.csdn.net/u010019717/article/details/4768 ...

  10. mouseover、mouseenter

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

最新文章

  1. C++中的动态内存分配
  2. ubuntu查看文件和文件夹大小
  3. C#项目打包,并自动安装SQL数据库(转)
  4. PowerDesigner 反向工程生成ER图
  5. 如何在Word,Excel和PowerPoint 2010中裁剪图片
  6. java public object_Java中Object类
  7. 计算机组成原理pd指令是什么,计算机组成原理期中考试(DOC).doc
  8. clientv3 github.com与go.etcd.io冲突 /github.com/coreos/etcd/clientv3/auth.go:166:106: too many errors
  9. Day_05 显示字符串
  10. ZYNQ研究----(2)基于开发板制作串口测试程序
  11. 嵌入式单片机及外设(硬件)知识基础一
  12. 矢量数据 秦岭淮河_秦岭-淮河一线的大致纬度
  13. js 模拟表单post提交
  14. 翟菜花:当防沉迷遇到职业电竞,我们能怎么办?
  15. elasticsearch7.6 词频统计
  16. cad设计草图_草图和乐高积木如何启动您的设计系统
  17. 用 bat 批处理命令启动 Android Studio 自带模拟器
  18. SQL语言和T-SQL语言简介
  19. 通过jsp向mysql批量导入数据_对大数据的批量导入MySQL数据库
  20. 2018 年最受欢迎的美国公司 Top 50,亚马逊卫冕!

热门文章

  1. 泰坦尼克号数据集的下载
  2. java 读取文件成字节数组_java读取文件为字节数组
  3. 甘特图控件VARCHART XGantt:XGantt的用途
  4. php 抽签,javascript随机抽签程序
  5. 编译bug can not be used when making a shared object; recompile with -fPIC
  6. 保护眼睛——设置WIN7和XP 窗体、Chrome、IE网页背景颜色
  7. 7-77 打印学生选课清单 (25分)
  8. html文字冒险游戏,小说新类型介绍之文字冒险游戏
  9. reflections歌词翻译_Reflections中文歌词
  10. RIP总结(转自鸿鹄论坛)