给ul添加事件委托后,鼠标移到li上可以触发事件,但是移到li里面的dl上却不能触发事件

给ul添加事件委托后,鼠标移到li上可以触发事件,但是移到li里面的dl上却不能触发事件

相关截图:

https://img1.sycdn.imooc.com//climg/61a63ad9099050ad06800376.jpg

鼠标移到dl里面的字,例如热门出发地北京上海广深这些字上就不能触发ul的事件了,这是为什么

下载视频          

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

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

1回答
好帮手慕慕子 2021-12-01 10:09:18

同学你好,因为e.target获取的是鼠标移入的当前元素,代码中在事件函数内部添加了if判断,只有移入li元素时,才会执行if语句,所以移入到dl等其他元素不会有任何效果。如下:

https://img1.sycdn.imooc.com//climg/61a6d92909b6844113000735.jpg

祝学习愉快~

  • 那垂直菜单中,要求鼠标移入li元素,就改变li的背景颜色,那我移入li里面的dl元素,此时li的背景颜色还会不会改变?
    2021-12-01 10:34:06
  • 同学你好,不会的,因为li里面的dl元素是在中间的位置,并没有紧挨着li,如下:

    https://img1.sycdn.imooc.com//climg/61a6e96409943f5104800217.jpg

    所以从其它位置移入li的时候,首先移入的就是li元素,改变li的背景颜色。

    代码中设置的是鼠标离开外层大盒子时,才会再次改变li的背景颜色,如下:

    https://img1.sycdn.imooc.com//climg/61a6ea3e0988c70d11550267.jpg

    所以在li元素内部,移入到dl元素,此时并没有离开外层大盒子,所以不会改变li的背景颜色。

    祝学习愉快~

    2021-12-01 11:22:21
  • 那老师如果我要实现的是点击事件而不是鼠标移入事件呢?那点击到li里面的dl的时候岂不是触发不了事件了?
    2021-12-01 13:14:53
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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