gpt4 book ai didi

javascript - jQuery.on() 无法使用 stopPropagation

转载 作者:太空宇宙 更新时间:2023-11-04 15:13:13 25 4
gpt4 key购买 nike

我想在单击内部 div 时停止执行 func()

这是 html:

    <div onclick="func()">
<div id="inner-div">
I'm an inner div
</div>
</div>

此代码将停止传播:

$('#inner-div').bind("click", function(e){
e.stopPropagation();
})

此代码无法停止传播:

$(document).on("click", '#inner-div' , function(e){
e.stopPropagation();
})

我该怎么做?

最佳答案

停止来自委托(delegate)处理程序的传播将不起作用,因为该事件已经传播到文档树以便该委托(delegate)处理程序运行。

documentation 中提到了这一点:

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.

on()delegate() 在此上下文中的行为与 live() 相同,只是使用祖先元素而不是文件本身。在所有情况下,阻止事件从目标元素传播都为时已晚。

关于javascript - jQuery.on() 无法使用 stopPropagation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17805978/

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