简单了解mouseover与mouseenter的使用场景

article/2025/11/10 6:37:07

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

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 -->鼠标离开(冒泡)

http://chatgpt.dhexx.cn/article/uS3tbKWy.shtml

相关文章

mouseenter鼠标事件

mouseenter鼠标事件 1.当鼠标移动到元素上时就会触发mouseenter事件 2.类似mouseover&#xff0c;它们两者之间的差别是 mouseover鼠标经过自身盒子会触发&#xff0c;经过子盒子还会触发。mouseenter只会经过自身盒子触发 这样的原因就是 mouseenter不会冒泡。 <!DOCTYP…

mouseenter和mouseleave与mouseover和mouseout的区别

一、mouseenter&#xff08;指针穿过&#xff0c;子集不执行&#xff09; 当鼠标指针穿过&#xff08;进入&#xff09;被选元素时&#xff0c;会发生 mouseenter 事件。 mouseenter() 方法触发 mouseenter 事件&#xff0c;或添加当发生 mouseenter 事件时运行的函数。 注意…

mouseenter、mouseleave、mouseover和mouseout的区别

mouseenter(进入)、mouseleave、mouseover(覆盖)和mouseout是常用来判断鼠标移出和移入的事件句柄&#xff0c;虽然功能上差不多&#xff0c;但是细节却有不同的地方。 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>随…

mouseover事件和mouseenter事件以及mouseleave事件和mouseout事件的区别

1.mouseover事件与mouseenter事件 mouseover事件&#xff1a;不论鼠标指针穿过被选元素或其子元素&#xff0c;都会触发 mouseover 事件。 mouseenter事件&#xff1a;只有在鼠标指针穿过被选元素时&#xff0c;才会触发 mouseenter 事件。 2.mouseout事件与mouseleave事件 …

Git - 教程(廖雪峰)

史上最浅显易懂的Git教程&#xff01; 为什么要编写这个教程&#xff1f;因为我在学习Git的过程中&#xff0c;买过书&#xff0c;也在网上Google了一堆Git相关的文章和教程&#xff0c;但令人失望的是&#xff0c;这些教程不是难得令人发指&#xff0c;就是简单得一笔带过&am…

廖雪峰git学习(3)分支管理【待续】

创建与合并分支 创建分支 git checkout -b dev #创建并切换到分支dev相当于以下两条 git branch dev #创建分支dev git checkout dev #切换到分支dev git branch #可查看当分支 合并分支 git merge dev #将dev分支与master分支合并 删除分支 git branch -d dev#删除dev分支

Git操作——廖雪峰Git教程

这个笔记主要记录的命令&#xff0c;用来翻查命令使用。 学习了一部分&#xff0c;剩下的部分后续更新o(&#xffe3;▽&#xffe3;)ブ 廖雪峰的Git教程 零散的命令&#xff1a; 显示当前目录——pwd显示隐藏目录——ls -ah查看文件 —— cat <文件名> 创建版本库 …

廖雪峰git教程学习记录

1. 下载安装 git官网下载&#xff1a;https://git-scm.com/downloads 百度网盘链接: https://pan.baidu.com/s/1quoLbBcbWaGJ05do4DX9Pw 提取码: xqe3 直接下载安装&#xff0c;完成后在开始菜单找“Git”--“Git Bash” 点击打开&#xff0c;如下图形式显示 安装成功。 2. …

Python 爬虫:把廖雪峰的教程转换成 PDF 电子书

。前两天&#xff0c;有读者在微信公众平台 问道&#xff1a;可以推荐一本 Python 入门的教程吗&#xff1f;我说&#xff1a;廖雪峰的 Python 教程她说&#xff1a;有没有电子书呢&#xff1f;我说&#xff1a;没有&#xff0c;但你可以用 Google 搜一下&#xff0c;找到了记得…

git常用命令总结--廖雪峰老师Git教程命令总结

学习了廖雪峰老师的Git教程之后的命令总结&#xff0c;重点更新第十项关于git和远程仓库的东西。 如果没有学过&#xff0c;这是传送门 2021.02.19更新&#xff1a;第十章第12节--切换远程分支并拉取远程分支到本地&#xff0c;第十章第13节--git不用每次都要输入用户名密码 …

学习廖雪峰的Git教程

学习廖雪峰的git教程&#xff1a;http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.创建版本库&#xff1a; 在一个空目录下&#xff1a;git init 把这个目录变成Git可以管理的仓库。 2.添加文件到仓库&#xff1a; 添加文件到仓库目…

git学习笔记——廖雪峰git教程

OK&#xff0c;先附上教程——廖雪峰的官方网站 友情连接&#xff1a;git官网 简介 这里我只想引用他的原文&#xff1a; Linus可以向BitMover公司道个歉&#xff0c;保证以后严格管教弟兄们&#xff0c;嗯&#xff0c;这是不可能的。实际情况是这样的&#xff1a; Linus花了…

廖雪峰Git学习笔记(超级无敌详细)

Git 1. 创建仓库1.1初始化一个Git仓库1.2 添加文件到Git仓库 2. 时光穿梭2.1 版本回退2.2 工作区和暂存区2.3 管理修改2.4 撤销修改2.5 删除文件 3. 远程仓库3.1 添加远程仓库3.2 删除远程仓库3.3 从远程仓库克隆 4. 分支管理4.1 创建与合并分支4.1.1 创建分支4.1.2 合并分支4.…

廖雪峰git教程学习

廖雪峰git教程 git – Linus在2周内用c写的 1.1 基本概念 版本控制系统&#xff0c;追踪文本文件的改动&#xff0c;文件、视频等二进制文件则不可追踪&#xff08;微软的word也是二进制文件&#xff09;HEAD 指向当前分支&#xff0c;表示当前版本&#xff08;最新的提交&am…

廖雪峰Git教程笔记

文章目录 1 什么是Git1.1 Git的诞生1.2 集中式vs分布式1.3 安装Git1.3.1 在Windows上安装Git1.3.2 在Linux上安装Git 1.4 创建第一个项目learngit1.4.1 创建版本库1.4.2 初始化仓库1.4.3 添加文件到版本库1.4.4 Git使用小结 2 版本控制2.1 版本更新2.1.1 git status查看仓库状态…

Git 详解 和 廖雪峰 Git 教程

转载&#xff1a;廖雪峰 git 教程&#xff1a;https://www.liaoxuefeng.com/wiki/896043488029600 GitHub 秘籍&#xff1a;https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.zh-cn.md Git Community Book 中文版&#xff1a;http://gitbook.liuhui998.com…

【教程搬运】廖雪峰Git的使用教程(二)

廖雪峰的Git使用教程 5 分支管理5.1 创建与合并分支5.2 解决冲突5.3 分支管理策略5.4 Bug分支5.5 丢弃未被合并的分支5.6 多人协作5.7 Rebase 6 标签管理6.1 创建标签6.2 管理标签 7 使用Github8 使用Gitee9 自定义Git9.1 忽略特殊文件9.2 配置别名9.3 搭建Git服务器 10 使用So…

带你过一遍:廖雪峰大神Git教程(建议收藏)

这里是带你过一遍第一期&#xff0c;我来带你过一遍很出名的Git&#xff08;廖雪峰版&#xff09;教程&#xff0c;想要查看前面的笔记请翻阅我的CSDN博客&#xff0c;作者码字不易&#xff0c;喜欢的话点赞&#xff0c;加个关注吧&#xff0c;后期还有很多干货等着你&#xff…

廖雪峰Git教程:远程仓库

在本地机上创建一个Git仓库learngit&#xff0c;然后在自己的GitHub上添加一个Git库&#xff0c;让两个仓库进行远程同步。 首先&#xff0c;登陆GitHub&#xff0c;然后&#xff0c;在右上角找到“Create a new repo”按钮&#xff0c;创建一个新的仓库。在Repository name填…

廖雪峰git教程总结

廖雪峰git教程总结 git base 命令 新建文件夹learngit $ mkdir learngit 打开新建文件夹learngit $ cd learngit 显示当前目录 $ pwd 全局配置 $ git config --global user.name “Your Name” $ git config --global user.email “emailexample.com” 配置别名 $git config …