gpt4 book ai didi

javascript - 关于现场事件的问题

转载 作者:数据小太阳 更新时间:2023-10-29 06:13:27 25 4
gpt4 key购买 nike

我刚刚在读http://api.jquery.com/event.stopPropagation/

Since the .live() method handles events once they have propagated to the top of the document, it is not possible to stop propagation of live events

我对这个说法有点困惑,有人可以用一些例子来解释一下吗?

最佳答案

Live 方法将处理程序绑定(bind)到文档,并从 event.target 属性中识别哪个元素触发了事件。

所以实际的处理程序位于顶部(在层次结构方面)。

stopPropagation 阻止冒泡上升到 DOM 层次结构,但由于处理程序已经位于顶部(.live 情况下) 没有上层地方可以冒泡到..


示例尝试 ..

- document
- div
- link

您将点击事件处理程序绑定(bind)到链接(使用 bindclick 方法)。

当您单击链接时,会触发处理程序,但除此之外,单击事件会在 DOM 中上升,直到到达文档,并且还会触发绑定(bind)到 div 和文档的单击处理程序。 (除非您使用 .stopPropagation)

或者,如果您使用 .live 方法绑定(bind)事件处理程序,它将绑定(bind)到文档。如果您现在单击该链接,该事件(不会立即触发,因为没有处理程序绑定(bind)到它)自然会在 DOM 中上升(触发它遇到的点击处理程序 em>).一旦到达文档,它将触发我们自己的处理程序。但是没有上层可去,所以 stopPropagation 在这一点上没有用。

关于javascript - 关于现场事件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6020269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com