mouseover和mouseenter,mouseout和mouseleave的区别-引发的探索
相信小伙伴们都用过鼠标事件,比如mouseover和mouseout,mouseenter和mouseleave。它们都分别表示鼠标移入移出。
在使用的过程中,其实一直有个小疑问——它们之间究竟有什么区别?但此前一直没有去真正了解过。
后来看了一些博客,总结出了最大的不同:
①:mouseover/mouseout是冒泡事件。
②:mouseenter/mouseleave不冒泡。
建议:需要为多个元素监听鼠标移入/出事件时,推荐使用mouseover/mouseout,提高性能
解决上面的疑问以后,突然来了兴致,就顺道把其它平时经常在用,但不知道区别或者比较模糊的也做了一个探究如下:
1️⃣:focus/blur与focusin/focusout的区别
①:focus/blur不冒泡,兼容性更好
②:focusin/focusout冒泡
2️⃣:scrollWidth和offsetWidth和clientWidth的区别
①:clientWidth/clientHeight-对象可视区域宽高,返回值只包含content + padding,不包含滚动条和border
②:offsetWidth/offsetHeight-对象实际宽高,返回值包含content + padding + border + 滚动条
③:scrollWidth/scrollHeight,对象滚动区域的宽高,返回值包含content + padding + 溢出内容的尺寸
https://www.cnblogs.com/kongxianghai/p/4192032.html 详见
3️⃣:documen.write和 innerHTML的区别
①:document.write只能重绘整个页面 (如果你的页面还有其它可见内容,比如2个P标签,里面有文字内容,也会被document.write的值覆盖掉)
②:innerHTML可以重绘页面的一部分
https://blog.csdn.net/u012309349/article/details/47946869 详见
4️⃣: window.onload 和 document.DOMContentLoaded 的区别?
①:当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,无需等待样式表、图像完成加载。
②:另一个不同的事件 load应该仅用于检测一个完全加载的页面。 在使用 DOMContentLoaded 更加合适的情况下使用 load是一个令人难以置信的流行的错误,
所以要谨慎。注意:DOMContentLoaded 事件必须等待其所属script之前的样式表加载解析完成才会触发 (引用CDN的解释)
https://developer.mozilla.org/zh-CN/docs/Web/Events/DOMContentLoaded 详见
5️⃣: src和href的区别
①:src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置。当浏览器解析渲染页面时,
如果发现有src属性时,会立刻解析,并暂停其它资源的下载,直到加载完毕,图片和引用的框架也是如此。 这也是为什么将js脚本放在底部而不是头部。
②:href用于在当前文档和引用资源之间建立联系。
这篇文章整体参考了:https://segmentfault.com/a/1190000015863923#articleHeader40
mouseover和mouseenter,mouseout和mouseleave的区别-引发的探索的更多相关文章
- jQuery mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout ...
- 曾经跳过的坑----jQuery mouseover与mouseenter,mouseout与mouseleave的区别
mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...
- mouseover与mouseenter,mouseout与mouseleave的区别
mouseover事件:不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件,对应mouseout事件: mouseenter事件:只有在鼠标指针穿过被选元素时,才会触发 mouse ...
- mouseover,mouseenter,mouseout,mouseleave的区别
mouseover :不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. mouseout :不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件. mous ...
- mouseout与mouseleave的区别
1 mouseout:当鼠标指针从元素上移开时,发生 mouseout 事件.该事件大多数时候会与 mouseover 事件一起使用. 2 mouseout与 mouseleave 事件不同,不论鼠标 ...
- mouseover与mouseenter与mousemove的区别mouseout与mouseleave的区别
<html> <head> <title></title> </head> <body> <p> 当鼠标进入div1 ...
- mouseover和mouseenter两个事件的区别
mouseover(鼠标覆盖) mouseenter(鼠标进入) 二者的本质区别在于,mouseenter不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover就会被它的子元素 ...
- mouseenter(fn)和mouseleave、mouseover和mouseout的的区别
$('.box1').mouseenter(function(){//穿入事件mouseenter $(this).css('background','red'); }).mouseleave(fun ...
随机推荐
- ubuntu/debian 多版本gcc共存
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -ysudo apt-get update -ysudo apt-get install gcc ...
- 内嵌圆角CSS实现
前言 开发项目时,经常会遇到如上图左上角和右上角这种内嵌的圆角效果,在以前css3还没有普及时不用说一张图片搞定,但是到现在我们完全可以用css去实现. 实现 第一步:思路 仔细观察这个小缺角,它其实 ...
- Electorn(桌面应用)自动化测试之Java+selenium实战例子
基于electorn的桌面应用,网上相关资料较少.所有记录一下.使用java+selenium+testng对该类型应用的自动化测试方法. 代码样例 package com.contract.web. ...
- GPS坐标系
本次测试之坑,人车定位偏差,分析如下 车的定位由后台提供,由gps上报位置,采用WGS-84坐标系 前端(app/小程序)使用腾讯地图,或者高德地图,采用的是GCJ-02坐标系,或者在GCJ-02基础 ...
- MyBatis中<if test=" ">标签条件不起作用
问题产生? 今天在做Excel导出的时候,有个判断一个状态的字段,我的这个字段是int类型的,还有两个时间类型,我在判断的时候给的是Long类型的. 在测试的时候发现,不管怎么样都不执行if条件里面的 ...
- vue 图片下载到本地,图片保存到本地
必须同源(访问的网站域名与服务器域名一致)才能下载 downs() { var alink = document.createElement("a"); alink.href = ...
- ubuntu18.04搭建nfs
1.服务端安装 #apt-get update -y #apt-get install -y nfs-kernel-server #apt-get enable nfs-kernel-server 2 ...
- apt-get update 出现错误“ AppStream cache update completed, but some metadata was ignored due to errors. ”
只需要 执行 sudo rm /var/lib/dpkg/lock; 之后再次执行:sudo apt-get update
- selenium中maven的使用
一.maven的下载.解压以及环境变量配置 1.下载maven: 官网下载地址:http://maven.apache.org/download.cgi 在Files下面下载对应的maven版本(官网 ...
- python计时器类
import time as t class MyTimer(): def __init__(self): self.unit = ['年', '月', '日', '时', '分', '秒'] sel ...