mouseover 和 mouseenter的区别
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的区别相关推荐
- Vue 实现 Hover 功能( mouseover 与 mouseenter 的区别)
一.mouseover 和 mouseenter 的区别 mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发,冒泡过程.对应的移除事件是 mouseout mouseente ...
- JavaScript---常用的鼠标事件mouseover 和mouseenter的区别
一. mouseover 和mouseenter的区别 mouseover: 只要鼠标指针移入事件所绑定的元素或其子元素,都会触发该事件 mouseenter: 只有鼠标指针移入事件所绑定的元素时, ...
- JS——mouseover和mouseenter的区别
区别 举例 补充 区别 mouseover:鼠标移入事件所绑定的元素或其子元素时,都会触发该事件.(具有冒泡特性) mouseenter:只有鼠标移入事件所绑定的元素时,才会触发该事件.(不具有冒泡特 ...
- 鼠标事件(mouseover和mouseenter的区别)
mouseover和mouseenter都是鼠标移到元素身上就触发,区别是 1.mouseover经过自身盒子触发,经过子盒子也触发,拥有冒泡特性 2.mouseenter只经过自身盒子触发,没有冒泡 ...
- Javascript的mouseover和mouseenter的区别
1.当鼠标移动到元素上时就会触发mouseenter事件 2.区别: mouseover 鼠标经过自身盒子会触发,经过子盒子还会触发.mouseenter只会经过自身盒子触发 之所以这样,就是因为mo ...
- mouseover和mouseenter的区别
mouseenter鼠标事件 当鼠标移动到元素上时就会触发 mouseenter 事件 类似mouseover,它们两者之间的差别是 mouseover 鼠标经过自身盒子会触发,经过子盒子还会触发.m ...
- mouseover、mouseenter
mouseover.mouseenter 相信大家刚开始学mouseover和mouseenter的时候,总感觉这两个效果是一样的! 但是仔细一想,既然是一样的,那么为什么要写两个呢? 那么问题就来了 ...
- 鼠标事件(mouseover和mouseenter)
下拉菜单案例 前言 一.mouseover和mouseenter的不同点 1.事件的触发时机 2.是否支持冒泡 二.案例 总结 前言 自己做下拉菜单的时候,突然发现mouseover和mouseent ...
- mouseover和mouseenter、mouseout和mouseleave
详细介绍请看:mouseenter与mouseover为何这般纠缠不清? mouseover和mouseenter的区别 mouseover:当鼠标移入元素或其子元素都会触发事件,所以有一个重复触发, ...
- jQuery面试题-区别mouseover和mouseenter的不同之处(看了也许对你有好处)
文章目录 1.简单阐述mouseover和mouseenter的不同之处 2.代码实例测试 3.效果图 1.简单阐述mouseover和mouseenter的不同之处 mouseover:在移入子元素 ...
最新文章
- 获取Java系统相关信息
- 反编译工具dnspy的安装与使用;
- 【已解决】CMake Error: Cannot determine link language for target “xxx“. CMake Error: CMake can not determ
- 我的2019年度总结
- 计算机桌面有黑边怎么调整,电脑屏幕旁边有黑色框如何恢复_电脑两边黑边怎么还原-win7之家...
- 立足共赢 | 开宸引领绿色会展经济新形式
- C# async await
- 手机浏览器自动播放视频video(设置autoplay无效)的解决方案
- mysqlplus 批量插入_解决SpringBoot+Druid+Mybatis Plus 执行MySQL批量插入,更新 报错的问题...
- react WangEditor 编辑器阿里云OSS上传图片
- 服务器字段长度修改,postgresql 修改字段长度的操作
- 计算机学报发表论文格式,计算机学报论文格式(24页)-原创力文档
- Mysql数据库开启远程连接
- 高产攻关保全年粮丰 国稻种芯·中国水稻节:广西多措并举
- 如何完全禁止win10自动更新(自动升级)
- go语言零知识证明gnark框架
- 设置短域名跳转目标网址,长链接缩短的方法
- Android在CMD中输入adb命令,提示“'adb' 不是内部或外部命令,也不是可运行的程序”的解决方法
- ajax get传递数组参数吗,ajax 传递数组参数
- 如何给JButton添加图标,并使图标沾满整个按钮。