-2

我有一个元素#foo,它上面有点击事件。元素#foo#bar其上也有点击事件的元素中。

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

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

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

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

编辑#2:这是我的代码以及您的建议。不工作。

4

3 回答 3

1

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

$("#foo").on('click', function(e){
     e.preventDefault();
     e.stopPropagation(); //this line will stop the click bubbling up the tree.
});
于 2013-01-24T09:57:14.940 回答
0

试试这个

$('#foo').click(function(e){
     e.preventDefault();
     e.stopPropagation(); 
     $('#bar').trigger('click');
});
于 2013-01-24T09:55:22.883 回答
0

使用 stopPropagation 函数,看一个例子:

$("#foo").click(function(e) {
   e.stopPropagation();
})
于 2013-01-24T09:58:56.113 回答