jquery – 如何忽略点击事件当点击儿童

前端之家收集整理的这篇文章主要介绍了jquery – 如何忽略点击事件当点击儿童前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我有以下场景:
<div id="block">
Sample text.
<a href="#">Anchor link</a>
</div>

<script type="text/javascript">
    $("#block").click(function() { alert('test'); });
</script>

当我点击div内的任何地方,我得到’测试’警报。但是,我想防止这种情况发生时,我点击“锚点链接”。如何实现呢?

谢谢

解决方法

您可以停止点击从带有额外处理程序的链接冒泡,如下所示:
$("#block a").click(function(e) { e.stopPropagation(); });

我们在评论中讨论的替代方案:

$("#block").delegate('a','click',function(e){ e.stopImmediatePropagation(); })
           .click(function() { alert('test'); });​

这将防止任何子链接冒泡(好吧,不是真的,但他们的处理程序从执行),但不为每个元素创建处理程序,这是通过.stopImmediatePropagation()完成。

原文链接:https://www.f2er.com/jquery/183834.html

猜你在找的jQuery相关文章