如何在JQuery中单击容器内的元素时取消容器div触发器的click事件?

前端之家收集整理的这篇文章主要介绍了如何在JQuery中单击容器内的元素时取消容器div触发器的click事件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
例如
<div class="container">
  <div class="inside">I am not fire when click me</div>
</div>

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

但是,当我单击其中的div时,它也会触发容器的click事件,因为div位于容器内部,所以,当我点击内部div时,我需要一种方法来阻止容器事件触发!

非常感谢你!!

解决方法

作为更通用的解决方案,您应该检查容器的单击事件处理程序中的 e.target.
$('.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相关文章