老师 想请问下冒泡与捕获的问题

老师 想请问下冒泡与捕获的问题

https://img1.sycdn.imooc.com//climg/62e13641099322e810480447.jpg

老师 这句话我的理解是因为绑定的是父级元素 所以因为冒泡才会从子集传到父级 触发事件 

https://img1.sycdn.imooc.com//climg/62e1362b09a800b909800233.jpg

然后我同样理解这句话的话 onmouseenter全变红是不冒泡这句话是错误的呀 因为不冒泡的话 我点击里面的li就没法触发外层的事件而时它变红不是吗 所以这句话不是应该改为因为onmouseenter不能捕获吗 不知道我的理解有没有偏差 谢谢老师

正在回答 回答被采纳积分+1

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

1回答
好帮手慕久久 2022-07-28 09:42:28

同学你好,解答如下:

1、如下理解是对的:

https://img1.sycdn.imooc.com//climg/62e1e81609fea8a807290289.jpg

2、可以通过打印e.target,查看事件是谁触发的。

如下写法,点击事件绑定在ul上,点击li会触发ul上绑定的事件,实际触发事件的是li:

https://img1.sycdn.imooc.com//climg/62e1e88809bdf9de07250383.jpg

https://img1.sycdn.imooc.com//climg/62e1e8ac09f47fc808640217.jpg

证明点击事件是冒泡事件。

如下写法,事件绑定在ul上。li是ul的子元素,鼠标移入li的过程,必然会移入ul,所以ul的onmouseenter事件会触发:

https://img1.sycdn.imooc.com//climg/62e1e8c20958b89007180408.jpg

再者,通过打印可知,事件触发的时候,真正的事件触发者永远是ul:

https://img1.sycdn.imooc.com//climg/62e1e92709ea170510780486.jpg

所以说ul上事件的触发,并不是通过冒泡得来的。

li的字体之所以变红色,是因为ul上添加了color是红色的样式:

https://img1.sycdn.imooc.com//climg/62e1e9750939415c06880198.jpg

color可以被li继承,所以li是红色。

祝学习愉快!

  • 事件在ul上触发,但是e.target指定了触发以后效果是在ul的子元素上,可以这样理解吗

    2022-08-08 23:09:43
  • 不是特别理解同学的意思,再给同学屡一下:事件在谁身上触发,e.target就指向谁。“事件在谁身上触发”与“事件绑定在谁身上”不是一个意思。比如事件冒泡,事件绑定在ul上,但是实际触发事件的是li:

    https://img1.sycdn.imooc.com//climg/62f1be50093b45b606610389.jpg

    如果还有疑问,可以新建一个问题提问,这样方便同学复习。

    2022-08-09 09:55:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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