我有一个绑定到许多元素的点击功能。有时这些元素可能位于彼此内部。因此,click 事件绑定到子级,也绑定到其父级。该方法特定于单击的元素。自然,由于事件冒泡,首先触发子事件,然后触发父事件。我不能同时调用它们,因为父母事件会覆盖孩子的事件。所以我可以使用event.stopPropagation()
这样只有单击的第一个元素接收事件。问题是元素上还附加了其他点击事件,例如,我在这些元素上使用了 jQuery 的可拖动事件。如果我停止点击事件的传播,那么 draggable 不起作用,并且不会调用以下点击事件。
所以我的问题是:有没有办法阻止事件将调用的方法而不是整个事件的事件冒泡?
辉煌的约翰,但这里有问题:
<div id="Elm1"><!-- relative -->
<div class="Elmchildren"></div><!-- absolute-->
<div class="Elmchildren"></div><!-- absolute-->
<div class="Elmchildren"></div><!-- absolute-->
<div id="Elm2"><!-- relative -->
<div class="Elmchildren"></div><!-- absolute-->
<div class="Elmchildren"></div><!-- absolute-->
<div class="Elmchildren"></div><!-- absolute-->
</div>
</div>
点击事件绑定到#Elm1
和#Elm2
。.Elmchildren
宽度和高度均为 100% 。所以他们实际上是当前的目标。