mouseover和mouseenter的异同

article/2025/11/10 5:04:32

引言 

在自己动手练习一些项目实例的时候,发现mouseover和mouseenter这俩事件功能有点相似,但应用场景却不同。

所以想整篇博客梳理梳理

 

mouseover和mouseenter的不同点: 

不同点有两方面:

  1. 事件的触发时机
  2. 是否支持冒泡

一、事件的触发时机?

下面是我自己做的测试:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>*{margin: 0;padding:0;}ul{width: 300px;height: 200px;padding-top: 10px;padding-left: 50px;background-color: #0ff;}ul li{width: 200px;height: 50px;list-style: none;background-color: #0b6;margin-top: 30px;text-align: center;line-height: 50px;}</style>
</head>
<body><ul><li class="a">我是li.a</li><li class="b">我是li.b</li></ul><script src="jquery.min.js"></script><script>$(function(){$("ul").mouseenter(function(){console.log("经过一次");                })})</script>
</body>
</html>

mouseover测试:

由图看出:当光标进入ul和子元素li的时候都会触发mouseover事件

 

mouseenter测试:

由图看出:只有当光标从外界进入ul的时候才会触发mouseenter事件,进入li不会触发mouseenter

 

因此我们可以得出如下结论:

mouseover:当鼠标移入元素或子元素都会触发事件。

mouseenter:当鼠标移入元素才会触发事件。

 

二、事件是否支持冒泡?

官方文档的一段话:

Unlike the onmouseover event, the onmouseenter event does not bubble.

 

从官方文档可以看出:mouseenter事件不支持冒泡!!而mouseover时间支持冒泡

所以:光标在进入或离开元素的子元素的时候,会触发mouseover和mouseout事件,但不会触发mouseenter和mouseleave事件!

 

 

以上就是mouseover和mouseenter的异同了

显然,mouseover事件因为具有冒泡的性质,在子元素内移动的时候会经常被触发,如果我们不希望这样的话,就需要使用严谨一点的mouseenter方法了。

 


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

相关文章

JS——mouseover和mouseenter的区别

区别举例补充 区别 mouseover:鼠标移入事件所绑定的元素或其子元素时&#xff0c;都会触发该事件。&#xff08;具有冒泡特性&#xff09; mouseenter:只有鼠标移入事件所绑定的元素时&#xff0c;才会触发该事件。&#xff08;不具有冒泡特性&#xff09; 举例 mouseover&a…

mouseenter和mouseover的区别

mouseover&#xff1a;当鼠标移入目标元素或者移入目标元素的子元素&#xff0c;都会触发该事件。所以有一个重复触发&#xff0c;冒泡的过程。对应的一出事件mouseout。 mouseenter&#xff1a;当鼠标移入目标元素时&#xff08;不包括子元素&#xff09;&#xff0c;会触发该…

jQuery学习:mouseenter与mouseover区别

mouseenter:只有移入当前元素才会触发&#xff0c;对应mouseleave hover使用的是mouseenter与mouseleave mouseover&#xff1a;在移入子元素时也会触发&#xff0c;对应mouseout <div id"div1">div1<div id"div2">div2</div></div&…

mouseentermouseleave

mouseenter&mouseleave 简介 mouseenter当指针设备&#xff08;通常是鼠标&#xff09;移动到连接了侦听器的元素上时&#xff0c;会触发该事件。 mouseover 当指针设备&#xff08;通常是鼠标&#xff09;移动到附加了侦听器的元素或其子项之一上时&#xff0c;会触发该事…

mouseenter

这几天做下拉菜单&#xff0c;一直想实现鼠标停留在以及菜单即可显示二级菜单并可以浏览二级菜单的功能&#xff0c;最初走了很多弯路。 dropdown 写在是用Bootstrap.js …

mouseenter与mouseover的区别

这是两个事件类型&#xff0c;都是表示鼠标经过触发事件。 还有对应的mouseleave和mouseout&#xff0c;表示鼠标移开触发事件 区别是&#xff1a;mouseenter、mouseleave 不触发冒泡事件 mouseover、mouseout 会触发冒泡事件 首先事件触发后会产生两个阶段&#xff0c;一个是…

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

我们知道鼠标经过和离开的事件有俩种&#xff1a; mouseenter与mouseover&#xff0c;那么这里俩个事件有什么区别呢&#xff1f; mouseenter&#xff1a;给谁注册的事件&#xff0c;就必须经过谁&#xff0c;才能触发该事件 简单来说mouseenter不能冒泡&#xff0c;也就是说经…

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.…