老师,为什么这里鼠标从父盒子移到子盒子里面也会触发mouseout呢?

老师,为什么这里鼠标从父盒子移到子盒子里面也会触发mouseout呢?

​<!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>
.parent {
width: 200px;
height: 200px;
border: 1px solid #000;
}

.child {
width: 100px;
height: 100px;
background-color: #f00;
}
</style>
</head>

<body>
<div class="parent">
<div class="child">child</div>
</div>
<script>
var parentEle = document.querySelector(".parent")
var childEle = document.querySelector(".child")

parentEle.onmouseout = function (e) {
console.log("parent的onmouseout事件被触发了", e.target)
}
</script>
</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,可以类比作堆积木,放在下方的是父元素,放在上方的是子元素。从上往下看,被上方遮挡的下面的积木是看不到的。

同学记住onmouseout这个事件,在鼠标移出父元素或其子元素时,onmouseout会被触发,当鼠标从父元素移入其子元素时,onmouseout也会被触发就可以了。

祝学习愉快~

好帮手慕言 2021-06-21 15:23:54

同学你好,很抱歉,老师上次解释不准确。当鼠标移出父元素或其子元素时,onmouseout会被触发。子元素遮盖了父元素的可视区域,当鼠标从父元素移入其子元素时,onmouseout也会被触发。

祝学习愉快~

  • 提问者 __Promise #1

    老师,感觉还是不太清楚原理,子元素遮盖了父元素的可视区域是啥意思

    这个是js底层的处理机制吗

    2021-06-21 15:43:28
好帮手慕言 2021-06-21 09:59:26

​同学你好,onmouseout支持事件冒泡,移入子元素的时候,会触发父元素移出事件。祝学习愉快~

  • 提问者 __Promise #1

    老师,移入子元素后.冒泡给父元素的应该也是移入事件才对啊

    为什么移出事件也会触发,就是这点想不明白

    2021-06-21 10:02:08
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师