mouseover事件一般不推荐使用不过最近遇到了一个问题,就思考了一下。

如上图所示:
HTML代码如下

  <div class="father"><div class="son"></div></div>

js代码

var father = document.querySelector('.father')
var son = document.querySelector('.son')
father.addEventListener('mouseover',function(e){console.log("移入了")})father.addEventListener('mouseout',function(e){console.log("移出了")})

从父盒子移动到子盒子过程中先打印移出在打印移入。
原因思考:
1、鼠标移动到子盒子上,浏览器默认鼠标离开父盒子了所以打印“移出”,但是已经移到子盒子中,在子盒子中有移入事件,但是没有事件对应函数,然后事件冒泡给了父盒子,父盒子有mouseover事件对应函数,所以打印了“移入”。犹豫有一个冒泡过程所以先打印“移出”在打印与“移入”。
为了验证猜想:
js代码添加阻止冒泡事件

var father = document.querySelector('.father')
var son = document.querySelector('.son')
father.addEventListener('mouseover',function(e){console.log("移入了")})father.addEventListener('mouseout',function(e){console.log("移出了")})son.addEventListener('mouseover',function(e){// console.log("son移入了");e.stopPropagation()
})son.addEventListener('mouseout',function(e){// console.log("son移出了")e.stopPropagation()
})

如下图所示就只有移出,没有移入了

以上是个人愚见,如有错误请大牛不吝赐教!

js 鼠标事件mouseover和mouseout在父盒子移到子盒子中的思考相关推荐

  1. JS鼠标事件mouseout与mouseleave以及mouseover与mousemove区别

    JS鼠标事件mouseout与mouseleave以及mouseover与mousemove区别 mouseout: mouseout是由子元素冒泡而来 鼠标指针位于一个元素上方,然后用户将其移入另一 ...

  2. JS鼠标事件(非常详细)

    这里写目录标题 一. 常用到的鼠标事件 鼠标点击 鼠标移动 鼠标经过 鼠标来源 鼠标定位 鼠标按键 一. 常用到的鼠标事件 在 JavaScript 中,鼠标事件是 Web 开发中最常用的事件类型,鼠 ...

  3. JS鼠标事件实现动效

    1 JS鼠标事件 click鼠标点击事件 事件对象.onclick=function() {} mousedown / mouseup 鼠标按下/松开事件 事件对象.onmousedown =func ...

  4. c语言鼠标事件的详解,JS鼠标事件(非常详细)

    在 JavaScript 中,鼠标事件是 Web 开发中最常用的事件类型,鼠标事件类型详细说明如下表所示: 鼠标事件类型 事件类型 说明 click 单击鼠标左键时发生,如果右键也按下则不会发生.当用 ...

  5. js鼠标事件大全-Javascript鼠标事件大全

    js鼠标事件大全-Javascript鼠标事件大全 2009年03月11日 星期三 14:22 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick 当键盘上的某个键被按下并且释放时 ...

  6. 父盒子高度为子盒子总高度自动撑满 height: fit-content; //设置内容高度

    给父盒子设置高度=子盒子总高度 属性: height: fit-content; //设置内容高度

  7. js 鼠标事件总结 mouseover/mouseout 与mouseenter/mouseleave 傻傻分不清楚?

    1. 鼠标事件 mouseenter mouseleave (一对事件 鼠标的进入和离开) 不支持冒泡 mouseenter:鼠标从元素外部移到元素内部时触发. mouseleave:鼠标从元素内部移 ...

  8. leaflet鼠标进出事件 mouseover和mouseout (示例代码009)

    第009个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中给marker添加鼠标事件,这里用到了mouseover和mouseout. 直接复制下面的 vue+leaflet源 ...

  9. 鼠标事件(mouseover和mouseenter)

    下拉菜单案例 前言 一.mouseover和mouseenter的不同点 1.事件的触发时机 2.是否支持冒泡 二.案例 总结 前言 自己做下拉菜单的时候,突然发现mouseover和mouseent ...

最新文章

  1. docker 安装MongoDB以及设置用户
  2. 【老孙随笔】项目经理要如何看待技术?
  3. play!framework框架概述
  4. Linux的Vim编辑器
  5. oracle PL/SL编程基础
  6. 带你啃透深度学习必学“圣经”花书!(附带论文代码精读讲解)
  7. 软件运维工程师岗位职责和要求
  8. 2021 年中国城市发展规划数据源
  9. 写了一个根据ISBN查询图书信息接口,把收藏的几百万本图书分享给大家
  10. 金蝶K3系统单据对应ICTemplate表单ID信息
  11. 计算机无法进入bios模式,电脑系统无法进入bios界面解决方法
  12. vue中a的href写法
  13. 解决android api30以上,调用华为P50相机,点击拍照无反应问题
  14. 【破解EXE】VC程序的破解及修改一例
  15. nvidia驱动,cuda与cudnn的关系
  16. Linux下JAVA程序启动脚本(实例)
  17. 用python3实现MD5withRSA数字签名的验证
  18. C# 建一个Windows 服务 定时发邮件
  19. element 饿了么前端框架基础
  20. 城市间紧急救援 (25 分)

热门文章

  1. 最实用30个电脑技巧(高手必备)
  2. 用WPF做报表控件(二)
  3. 如何辨别油烟净化器进出风口?一文教你快速分辨!
  4. 清除 Windows 访问共享目录的账号密码
  5. java项目关联Q登陆,前后端分离项目 — SpringSocial 社交账号登录与注册
  6. Linux正则表达式、grep、sed、awk简单使用
  7. 好好学习:外企日常英语
  8. AQS、Semaphore、CountDownLatch与CyclicBarrier原理及使用方法
  9. 周末撸了个Excel框架,现已开源,已升级,yyds
  10. 生命科学领域下的“全球突破性十大技术”干货与分享