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

来源:4-22 事件委托(2)

__Promise

2021-06-20 19:00:34

​<!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回答

好帮手慕言

2021-06-21

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

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

祝学习愉快~

0

好帮手慕言

2021-06-21

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

祝学习愉快~

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

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

h021-06-21
共1条回复

好帮手慕言

2021-06-21

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

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

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

h021-06-21
共1条回复

0 学习 · 17877 问题

查看课程