jquery - JQuery中点击容器内元素时如何取消容器div触发的点击事件?

标签 jquery events

例如

<div class="container">
  <div class="inside">I am not fire when click me</div>
</div>

$('.container').click(function(){
  // container do something here
});

但是,当我点击里面的div时,也会触发容器的点击事件,因为div在容器内部,所以,我需要一种方法来防止点击里面的div时触发容器事件!

非常感谢!!

最佳答案

作为更通用的解决方案,您应该检查 e.targetcontainerclick 事件处理程序中。

$('.container').click(function(e) {
   // If you want to ignore clicks to anything inside the `.container` div:
   if (!$(e.target).hasClass('container')) return;
   // or, if you only want the `.inside` div to not fire the event,
   if ($(e.target).hasClass('inside')) return;

   // container do something here
});

这样您就不会阻止事件的传播,否则会打破界限 live处理程序。

关于jquery - JQuery中点击容器内元素时如何取消容器div触发的点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5092675/

相关文章:

events - Grails: rabbitmq plugin vs rabbitmq-tasks plugin vs Plugin Platform Core Events Bus API

c# - 您是否需要 "unwire"ASP.NET webforms 中的事件处理程序

javascript - 对排除项目的 JSON 对象进行排序

javascript - 如何使用 jquery .load 并在原始文档中保留 javascript 功能?

c# - 是否有必要在 EventHandler.BeginInvoke (C# .Net 3.5) 的回调中调用 EndInvoke

javascript - Node 是否有办法消费/停止事件?

c# - 从封装类传递事件

javascript - jQuery基于mouseenter/leave的slideToggle菜单

jquery - 如何通过 AJAX 使用 Stripe 结帐

javascript - html按钮执行jquery和javascript?