一种删除元素的点击事件的方法



我有一个元素#foo它上面有点击事件。元素 #foo 位于元素 #bar 中,该元素上也有单击事件。

<div id="bar">
  <div id="foo" />
</div>

单击#foo时,将调用#bar事件并忽略#foo事件。这就是我现在想要的。

我正在寻找一种方法#foo元素中删除所有点击事件,除了我刚刚设置的事件 #foo 在父级上的所有事件。

编辑:这是jsFiddle演示。我希望在第一个事件之前调用第二个事件。

编辑#2:这是我的代码,其中包含您的建议。不行。

如果你在foo上有一个点击事件,并且你不希望它冒泡,你可以执行以下操作:

$("#foo").on('click', function(e){
     e.preventDefault();
     e.stopPropagation(); //this line will stop the click bubbling up the tree.
});

使用 stopPropagation 函数,请参见示例:

$("#foo").click(function(e) {
   e.stopPropagation();
})

试试这个

$('#foo').click(function(e){
     e.preventDefault();
     e.stopPropagation(); 
     $('#bar').trigger('click');
});

最新更新