采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
关于事件冒泡的处理过程,总感觉哪里有点怪怪的(有说不清的疑惑)。例如使用代理,(拍照才发现书法有点差)。点击链接时,由于事件冒泡,会触发div上绑定的事件(是这个样子吧?)。如果我在里面添加阻止事件冒泡,此事件依然被触发。
你是将事件绑定到了 div 上,你再组织冒泡,还有啥用
呵呵,老师这回答我也是醉了,完全没看懂这家伙说的意思吧。
人家说的是,在div的处理事件程序中添加e.stopPropagation()代码之后,点击a标签依然会弹出a标签的InnerHTML内容。
正确解答应该是:
如果你想阻止a标签的冒泡,请单独给a标签添加事件处理函数,同时在里面使用e.stopProgation()代码。
你在div的事件绑定处理函数中添加的代码都只是在div这个层次上被执行。这个地方涉及到事件触发流程。
顺序是 事件捕获,事件目标,事件冒泡三个阶段。你这里addEventListener使用的useCapture默认是false。那么你监听的就是冒泡阶段,而冒泡阶段是从低往上,也就是先经过了事件目标a再到div。那么你不在a的事件处理中阻止的话,自然就会冒泡到div。而你在div里阻止的话,自然就不会冒泡到body,document之上。
登录后可查看更多问答,登录/注册
BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率
951 19
936 17
1.1k 11
1.1k 10
1.0k 10