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

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

1
​<!DOCTYPE html><br><html lang="en"><br><br><head><br>    <meta charset="UTF-8"><br>    <meta name="viewport" content="width=device-width, initial-scale=1.0"><br>    <title>Document</title><br>    <style><br>        .parent {<br>            width: 200px;<br>            height: 200px;<br>            border: 1px solid #000;<br>        }<br><br>        .child {<br>            width: 100px;<br>            height: 100px;<br>            background-color: #f00;<br>        }<br>    </style><br></head><br><br><body><br>    <div class="parent"><br>        <div class="child">child</div><br>    </div><br>    <script><br>        var parentEle = document.querySelector(".parent")<br>        var childEle = document.querySelector(".child")<br><br>        parentEle.onmouseout = function (e) {<br>            console.log("parent的onmouseout事件被触发了", e.target)<br>        }<br>    </script><br>    </body><br><br></html><br>


正在回答

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

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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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