删除掉input后,它所绑定的addEventListern就没有

删除掉input后,它所绑定的addEventListern就没有

这是为什么?是因为这个绑定的契机是在页面加载的时候,后面新加的input就不会再绑定了?

https://img1.sycdn.imooc.com/climg/676d4dfc09ff24fc10720809.jpg

正在回答

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

1回答

同学,你好!不是,是同学理解错误。我们要监听input 框用来添加标签的。首先是要找到input 这个元素也就是div 类名为article-tag-value下的input 标签这个元素,所以写成了.article-tag-value>input。找到input元素后再监听它的事件,若是删除了>input,那监听的就不是input 事件了,所以后续无法向input 框中添加标签。


https://img1.sycdn.imooc.com/climg/676e518d09c23a7814660690.jpg

祝学习愉快~

  • 曲别针010 提问者 #1

    是我没有表达清楚,删除了>input之后,重新添加回来,从HTML代码上看,这个input和之前的input没有任何分别,而js中的 document.querySelector获取元素、添加事件等代码均没有任何变化,为什么就无法生效了呢?

    2025-01-08 10:54:17
  • 好帮手慕小猿 回复 提问者 曲别针010 #2

    同学,你好!当你删除input元素然后再重新添加时,原来在window.onload中绑定的事件监听器会失效。这是因为新添加的input元素是一个全新的 DOM 对象,它没有继承之前被删除元素上绑定的事件,所以监听事件消失了


    祝学习愉快~

    2025-01-08 14:31:29
  • 曲别针010 提问者 回复 好帮手慕小猿 #3

    好的,明白了

    2025-01-09 09:14:01
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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