【发布时间】:2013-01-24 09:53:00
【问题描述】:
我有一个元素#foo,它上面有点击事件。元素#foo 位于元素#bar 中,该元素也有点击事件。
<div id="bar">
<div id="foo" />
</div>
当点击#foo 时,#bar 事件被调用,#foo 事件被忽略。这就是我现在想要的。
我正在寻找一种方法来从 #foo 元素中删除所有点击事件,除了我刚刚设置的事件和所有在 #foo 的父级上的事件。
编辑:这里是jsFiddle demo。我希望在第一个事件之前调用第二个事件。
编辑#2:这里是my code with your suggestions。没用。
【问题讨论】:
-
根据事件委托模型,最顶层的onclick事件将首先被处理。
-
好的,你试过了吗?
-
我什么都没试过,但我想我需要递归地上 DOM 树并删除事件。
-
当
#foo被点击时,#bar事件被调用并且#foo事件被忽略。 如果它已经被特别注意的话,这是正确的。否则,两个事件都会被调用。首先是#foo,然后是#bar。 -
你的
#foo元素没有内容,你确定你真的在点击它吗?
标签: javascript jquery dom onclick event-bubbling