mouseenter和mouseover小记

news/2024/5/17 8:11:49/文章来源:https://blog.csdn.net/iteye_15462/article/details/82638404

对mouseenter和mouseover这两个事件,以前都是在用到的时候,去试试,哪个这个不行,换另外一个,哪个满足要求用哪个,没去具体试过两者之间的区别,今天测试了一下,做如下记录

 

<div id="blue" class="blue"><div id="green" class="green"></div>
</div>

 

<style>.blue{height: 100px;width: 100px;border: 1px solid blue;}.green{height: 80px;width: 80px;border: 1px solid green;}
</style>

 在浏览器中看到的是这样的



 

var blue = document.getElementById('blue'),green = document.getElementById('green');blue.addEventListener('mouseenter', callback);
green.addEventListener('mouseenter', callback);function callback (event) {console.log(event.target.getAttribute('id'));console.log(this.getAttribute('id'));console.log(event.type);
}

 加上事件绑定后,当鼠标移入蓝框,未进入绿框时,触发蓝框的mouseenter事件,输出

blue

blue

mouseenter

 

继续移入绿框,触发绿框mouseeneter事件,输出

green

green

mouseenter

再从绿框移出进入蓝框时,没有反应

 

现在换成mouseover事件看看,

进入蓝框时输出

blue

blue

mouseover

继续移入绿框,触发绿框mouseover事件,输出

green
green
mouseover
green
blue
mouseover

看到不仅触发绿框, 还冒泡触发了蓝框的mouseover事件,

当鼠标从绿框进入蓝框时,又触发蓝框的mouseover事件

blue

blue

mouseover

 

可以看到,鼠标进入子元素时,会触发子元素的mouseover,mouseenter事件,同时冒泡触发父元素的mouseover事件,但是不会冒泡触发父元素的mouseenter事件

 

接下来给绿框加上  margin-left: 130px;

这是两框位置如下



 看到绿框已经到蓝框外面了,此时再看看事件的触发,

鼠标移入绿框

输出

green

green

mouseenter

blue

blue

mouseenter

可以看看不仅触发了绿框的mouseenter事件,外层蓝框的mouseenter事件也触发了,但是细看看,这好像不是通过冒泡来触发外层蓝框的mouseenter的。因为在蓝框的mouseenter回调函数中target和this都是外层蓝框。在callback函数中加上event.stopPropagation(),企图阻止冒泡,希望不要触发蓝框的mouseenter,发现并不管用,所以蓝框的mouseenter事件的触发并不是冒泡。

 

发现内部的div和外部div的相对位置对mouseenter事件的触发是有影响的

将mouseenter换成mouseover试试

输出

green

green

mouseover

green

blue

mouseover

看到内外部div的mouseover事件都触发了,而且外部div的mouseover事件是由于事件冒泡引起的。

给callback加上event.stopPropagation()后再试,

发现只输出

green

green

mouseover

并没有触发外层div的mouseover事件。

 

如果绿框的margin为70px,在浏览器中位置如下

 鼠标从右往左先进入绿框,触发绿框的mouseenter事件,蓝框的mouseenter事件,鼠标继续左移进入交界以及完全进入蓝框,都不会再触发mouseenter事件。

此时再向右移进入两框交界的地方,会触发绿框的mouseenter事件,继续右移将不会触发事件

 

如果是mouseover事件,又会不一样。

鼠标从右往左移,进入绿框,触发绿框和蓝框的mouseover事件,继续左移,进入交界处不会触发事件,但是当完全进入蓝框将触发蓝框mouseover事件,因为在完全进入蓝框之前,鼠标一直over在绿框上,没有over在蓝框之上。

此时反向向右移,进入交界处触发绿框和蓝框的mouseover事件,继续右移,不再触发事件

 

 

总结:

鼠标进入子元素,触发子元素的mouseenter,此时是否触发父元素的mouseenter事件,取决于此时鼠标是否在父元素的范围内,而且触发父元素的mouseenter事件,不是冒泡,所以无法使用stopPropagation

鼠标进入子元素,触发子元素的mouseover事件,此时将会触发父元素的mouseover事件。如果愿意可以通过stopPropagation阻止冒泡。

 

mouseenter对应的mouseleave

mouseover对应的mouseout效果差不多,不作叙述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_893326.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设置chrome忽略网站证书错误

最近换了window10的系统后用浏览器访问网页的时候&#xff0c;经常出现网站证书错误的情况&#xff0c;特别是以https://开头的&#xff0c;原因是google升级证书检查力度后无法忽视证书错误的访问&#xff0c;解决这个问题很简单&#xff0c;只需要修改平时用来启动chrome的快…

使用hugo 构建博客网站

文章目录 使用hugo 构建博客网站1. 环境准备2. 使用hugo搭建个人博客环境1. 安装hugo2. 创建站点3. 安装主题4. 创建第一篇文章5. 编译输出6. 启动实时预览 3. 将博客推送到gitee1. 新建一个仓库2. 推送博客到该仓库 4. 使用Gitee Pages 发布个人博客网站5. 额外技能&#xff0…

个人网站怎么备案?

许多站长都想给自己的个人网站备案&#xff0c;也都想知道个人网站备案流程。今天&#xff0c;我也就结合自己这二次备案的经历&#xff0c;跟大家说下个人网站应该如何备案&#xff1f; 网站备案看起来确实是个费脑子的事&#xff0c;很多人也都是因为麻烦而放弃备案的。不过&…

个人网站备案很麻烦

看到这么多网站备案的是材料&#xff0c;我放弃了。怪不得大家都往国外跑。 租个香港&#xff08;比如www.smartvps.cn&#xff09;或则美国的亚马逊都可以&#xff0c;免了备案的麻烦。 弄个香港的虚拟主机配了下&#xff0c;没有问题。 搭建指南&#xff1a; http://blog.cs…

阿里云网站ICP备案一定要知道的东西

阿里云APP支持首次备案、新增网站&#xff08;原备案不在阿里云&#xff09;、新增网站&#xff08;原备案在阿里云&#xff09;等多种备案类型&#xff0c;且支持证件智能识别和人脸识别功能&#xff0c;能够缩短备案时间&#xff0c;提高备案效率。 支持的备案类型 阿里云APP…

何为网站前置审批?哪一些网站备案需要进行前置审批?

网站备案时很多同学都会对前置审批有疑问&#xff0c;什么是前置审批&#xff1f;网站备案需要勾选前置审批吗&#xff1f;哪些行业的网站备案需要前置审批&#xff1f; 更多参考官方文档 什么是前置审批&#xff1f; 前置审批是你在办理营业执照前需要先去审批的项目。只有一些…

CDN提速10倍 让网站速度更快

CDN加速目前是网站加速的标配了&#xff0c;也有用户以为套了CDN网站打开速度就彻底解决了&#xff0c;其实没有那么简单&#xff0c;需要根据我们网站自身特点去分析网站速度的瓶颈在哪里&#xff0c;才能对症下药&#xff0c;网站加速的方式方法和手段多种多样&#xff0c;我…

在网站插入优酷播放器的方法

方法一 这是比较简单的方法&#xff0c;但是不能定制功能&#xff0c;基本上是默认的&#xff0c;不过基本够用了。 在某个视频页面点击“分享”&#xff0c;选择复制“通用代码”或者“html代码”都可以。 方法二 它是youku官方的播放器代码【嘛&#xff0c;算是开发者的…

ASP.NET 访问项目网站以外的目录文件

简单的说&#xff0c;可以通过在 IIS 添加虚拟目录的方法做到&#xff0c;获取访问路径的时候就用 HttpContext.Current.Server.MapPath("~/xxx"); 的方式。 下面详细讲一下具体怎么做…… 首先看 IIS 上部署的项目网站结构&#xff1a; 有两个项目网站&#xff0c;…

IIS 配置 FTP 网站

在 服务器管理器 的 Web服务器IIS 上安装 FTP 服务在 IIS管理器 添加FTP网站配置防火墙规则 说明&#xff1a;服务器环境是Windows Server 2008 R2&#xff0c;IIS7.5。 1. 在 服务器管理器 的 Web服务器(IIS) 上安装 FTP 服务 2. 在 IIS管理器 添加FTP网站 端口可以不用默认…

你的网站安全吗?ZAP应用实例

按照清华大学出版社出版的新书《软件测试实战教程》第8章安全性测试&#xff0c;测试了一个Web应用&#xff0c;发现了5种问题。如图所示&#xff1a; 对每一种问题进行了分析&#xff0c;并提出了解决方案。解决问题后&#xff0c;再用ZAP扫描&#xff0c;已经没有这些问题了。…

IIS-网站报500.19错误代码0x8007000d问题解决

错误信息 问题原因 webconfig文件中的rewrite这个标签被当成错误标签了。 解决方案 URL Rewrite官网下载&#xff1a;https://www.iis.net/downloads/microsoft/url-rewrite安装完成后&#xff0c;打开即可

如何使用Python的Django框架创建自己的网站

如何使用Python的Django框架创建自己的网站 Django建站主要分四步&#xff1a;1、创建Django项目&#xff0c;2、将网页模板移植到Django项目中&#xff0c;3、数据交互&#xff0c;4、数据库 1创建Django项目 本人使用的是pycharm编辑器&#xff0c;打开pycharm&#xff0c…

网站项目成功管理实践(刘振飞)

网站项目成功管理实践 刘振飞 —发表在《程序员》杂志2005年第8期58~62页的原文— 在开始做 http://133.newsky.cn之前&#xff0c;我已经明白网站的开发与产品开发没有什么不同。不过在2004年离开微软中国研发中心Office组的时候&#xff0c;我对网站开发仍一无所知&#xff0…

网站日记分析插件【土拨鼠网站日记管理(分析推送二合一)】宝塔插件,日记分析和网站收录推送

应用名称&#xff1a;土拨鼠网站日记分析管理版本&#xff1a;3.0 目前只支持linux版宝塔作者&#xff1a;土拨鼠 功能介绍&#xff1a;SEO辅助工具&#xff0c;站点蜘蛛&#xff0c;访问记录&#xff0c;模拟蜘蛛&#xff0c;监控统计。只要添加的蜘蛛池IP丰富。便可以精准过…

网站防采集_【土拨鼠网站日记管理(分析推送二合一)】宝塔插件之可疑蜘蛛列表(找出采集蜘蛛)说明书

可疑蜘蛛列表功能介绍&#xff1a; 可疑蜘蛛列可以筛选出采集蜘蛛、假的搜索引擎蜘蛛、一般模拟蜘蛛都是带着目的才会模拟的。有些是灰帽模拟蜘蛛镜像我们的站点&#xff0c;导致站点降权&#xff0c;或者使用采集软件模拟蜘蛛采集我们站点的文章&#xff0c;抢占我们的关键词…

死链URL抓取【土拨鼠网站日记管理(分析推送二合一)】宝塔插件之死链蜘蛛列表说明书

死链蜘蛛列功能介绍&#xff1a; 死链蜘蛛列可以筛选出蜘蛛访问的404链接。 使用技巧&#xff1a; 1.站点降权的时候可以在这个查看是否有死链。死链多的时候也会降权。 2.可以查看是否有不法分子模拟蜘蛛。扫站&#xff0c;比如URL的后缀是.zip,.rar这类的。访问站点不存在…

土拨鼠网站日记管理(分析推送二合一)】宝塔插件之自动爬取全站URL推送说明书

自动爬取全站URL推送说明书: 此功能将会针对爬取的站点进行全站URL爬取并且进行推送&#xff0c;爬取的每一条URL都会只推送一次&#xff0c;不会重复推送。 1.设置爬取的URL尽量是本服务器的站点&#xff0c;如果要推送别的站点可以先测试服务器能否请求到这个站点。别的站点…

百度URL自动推送收录插件【土拨鼠网站日记管理(分析推送二合一)】推送功能配置教程

推送功能配置教程&#xff08;推送功能和网站日记分析功能可以单独分开始用&#xff0c;需要哪个功能就单独设置这个功能即可&#xff09;&#xff1a; 第一次使用推送功能需要在【工具设置】先生成缓存数据库和配置推送计划 初次设置&#xff1a; 自动爬取整站URL推送 &…

PS做食品网站

PS做食品网站 姓名&#xff1a;蒋林松 日期&#xff1a;2019.5.27 食品网站大家应该都听说过吧&#xff0c;都有一种和熟系的感觉&#xff0c;大家平时有没有观察在网上购物的时候人家的网站是这么做的呢&#xff0c;首先我们做食品网站就要去做关于食品类型的网站&#xff0c;…