相信小伙伴们都用过鼠标事件,比如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的区别-引发的探索的更多相关文章

  1. jQuery mouseover与mouseenter,mouseout与mouseleave的区别

    mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...

  2. mouseover与mouseenter,mouseout与mouseleave的区别

    mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件.只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseout ...

  3. 曾经跳过的坑----jQuery mouseover与mouseenter,mouseout与mouseleave的区别

    mouseover与mouseenter 不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. 只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件. mouseou ...

  4. mouseover与mouseenter,mouseout与mouseleave的区别

    mouseover事件:不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件,对应mouseout事件: mouseenter事件:只有在鼠标指针穿过被选元素时,才会触发 mouse ...

  5. mouseover,mouseenter,mouseout,mouseleave的区别

    mouseover :不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件. mouseout :不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件. mous ...

  6. mouseout与mouseleave的区别

    1 mouseout:当鼠标指针从元素上移开时,发生 mouseout 事件.该事件大多数时候会与 mouseover 事件一起使用. 2 mouseout与 mouseleave 事件不同,不论鼠标 ...

  7. mouseover与mouseenter与mousemove的区别mouseout与mouseleave的区别

    <html> <head> <title></title> </head> <body> <p> 当鼠标进入div1 ...

  8. mouseover和mouseenter两个事件的区别

    mouseover(鼠标覆盖) mouseenter(鼠标进入) 二者的本质区别在于,mouseenter不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover就会被它的子元素 ...

  9. mouseenter(fn)和mouseleave、mouseover和mouseout的的区别

    $('.box1').mouseenter(function(){//穿入事件mouseenter $(this).css('background','red'); }).mouseleave(fun ...

随机推荐

  1. Windows10开机pin界面循环重启解决办法

    昨天电脑在开机时,进入pin界面,输入pin码之后系统没反应,也不显示登陆成功,大概一分钟之后自动重启,遂百度答案:大部分建议都是在开机显示win图标时强制关机,强制关机两次即自动进入疑难解答页面,以 ...

  2. github 生成配置ssh 秘钥方法详解

    如果安装github成功后,当从本地提交文件到github的时候,提交不成功,报错,可能问题就是你还没有生成ssh秘钥 1.当你提交文件到github,不成功,出现如下的情况,就代表着github上面 ...

  3. 《笨方法学Python》加分题29

    加分练习猜一猜 “if 语句” 是什么,他有什么作用.在做下一道题之前,试着用自己的话回答下面的问题: 你认为 if 对他下一行代码做了什么?为什么 if 语句的下一行需要 4 个空格缩进?如果不缩进 ...

  4. Linux平台生成awr报告

    1.使用oracle用户登录应用服务器所使用的数据库所在的服务器 # su –oracle 2.输入env命令,查询出ORACLE_HOME 目录 3.然后进入$ORACLE_HOME/rdbms/a ...

  5. cpptest测试总结

    项目继续,持续新增中-- 桩函数设置 桩 (函参指针赋值) √:fun(*p) { for(int i = 0; i<6; i++) p[i] = 10; } ×:fun(*p) { for(i ...

  6. 第二阶段第四次spring会议

    昨天我将对软件添加了初始页面. 今天我将对软件加上显示时间. try { SkinListBoxItem rt = new SkinListBoxItem(InputForm("请输入&qu ...

  7. 通俗易懂--SVM算法讲解(算法+案例)

    1.SVM讲解 新闻分类案例 SVM是一个很复杂的算法,不是一篇博文就能够讲完的,所以此篇的定位是初学者能够接受的程度,并且讲的都是SVM的一种思想,通过此篇能够使读着会使用SVM就行,具体SVM的推 ...

  8. spring自带测试配置

    spring自带的测试注解 @ContextConfiguration(locations="classpath:applicationContext.xml")@RunWith( ...

  9. springboot pom.xml记

    本文包括: springboot 基本pom.xml配置 热部署 配置打包插件 maven pom.xml配置详解 1. springboot 基本pom.xml配置 <project xmln ...

  10. 冒泡排序&&选择排序

    package cn.lijun.demo;//冒泡排序public class Test5 { public static void main(String[] args) { int[] arr ...