gpt4 book ai didi

jquery - 如何停止事件传播?

转载 作者:行者123 更新时间:2023-12-01 01:12:21 24 4
gpt4 key购买 nike

<script type="text/javascript">
$(function(){
$('<h2>Click</h2>').prependTo($('#container')).live('click',function() {
return false;
});
$('#container').click(function() {
alert(1);
});
});
</script>


<div id="container">

</div>

我不希望click事件传播到#container,这就是为什么return false,但显然它是不工作

最佳答案

它与使用live选择器和事件委托(delegate)有关。您甚至不需要那个 live 处理程序。像这样更改您的 #container 点击:

$('<h2>Click</h2>').prependTo($('#container'));
$("#container").click(function(e){
if(e.target.nodeName != "H2"){
alert(1);
}
});

或者如果使用所有 jQuery 看起来更好:

$("#container").click(function(e){
if($(e.target).is('h2') == false){
alert(1);
}
});

这两个示例都测试原始点击发生的位置,如果点击 H2,则不会执行。

关于jquery - 如何停止事件传播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070340/

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