Javascript 删除元素的单击事件的方法
我有一个元素foo,上面有click事件。元素foo位于元素栏中,元素栏上也有click事件Javascript 删除元素的单击事件的方法,javascript,jquery,dom,onclick,event-bubbling,Javascript,Jquery,Dom,Onclick,Event Bubbling,我有一个元素foo,上面有click事件。元素foo位于元素栏中,元素栏上也有click事件 <div id="bar"> <div id="foo" /> </div> 单击foo时,将调用bar事件并忽略foo事件。这就是我现在想要的 我正在寻找一种从foo元素中删除所有click事件的方法,除了我的justset事件和foo的父元素上的所有事件 编辑:这里是。我希望第二场比赛在第一场比赛之前接到电话 编辑2:这里是。不起作用。试试这个 $('#fo
<div id="bar">
<div id="foo" />
</div>
单击foo时,将调用bar事件并忽略foo事件。这就是我现在想要的
我正在寻找一种从foo元素中删除所有click事件的方法,除了我的justset事件和foo的父元素上的所有事件
编辑:这里是。我希望第二场比赛在第一场比赛之前接到电话
编辑2:这里是。不起作用。试试这个
$('#foo').click(function(e){
e.preventDefault();
e.stopPropagation();
$('#bar').trigger('click');
});
如果您在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();
})
将首先根据事件委派模型处理最顶端的onclick事件。好的,您尝试过什么吗?我没有尝试过任何东西,但我想我需要递归地向上移动DOM树并删除事件。单击foo时,会调用bar事件,而忽略foo事件。这是真的,如果特别注意的话。否则,将调用这两个事件。首先是foo,然后是bar。你的foo元素没有内容,你确定你真的在点击它吗?调用e.preventDefault不会阻止事件冒泡到bar。嗯,在我的示例中,这不起作用。实际情况是有一个$body.onclick,foo。。。然后像上面的5个节点一样有$baz。选择。单击。。。。我在第一个事件中添加了这些行,但没有调用该事件!更新的问题代码显示:您的建议无效。