【发布时间】:2014-10-11 00:28:44
【问题描述】:
我向div 添加了一个transitionend 事件侦听器。这个div 的孩子在某些元素上有过渡。我希望 transitionend 事件只为我添加它的元素触发,这是一个错误吗?或预期的行为?仅当我将侦听器添加到其中时,如何使其触发?
【问题讨论】:
标签: javascript css
我向div 添加了一个transitionend 事件侦听器。这个div 的孩子在某些元素上有过渡。我希望 transitionend 事件只为我添加它的元素触发,这是一个错误吗?或预期的行为?仅当我将侦听器添加到其中时,如何使其触发?
【问题讨论】:
标签: javascript css
事件默认冒泡, 这意味着它们将被“传输”到父元素,直到它们到达主体或阻止它们的处理程序。
你可以:
event.stopPropagation()。这样,它们就不会再通过父级冒泡了。如果您向我们展示一些代码,那么帮助您会更容易,具体取决于您当前的实现。
【讨论】:
此过程称为Event Bubbling。您可以做的事情是使用事件处理程序检测冒泡或通过停止传播来防止冒泡。你可以这样做
event.stopPropagation()
在 9 之前的 IE 中。
你可以这样做
window.event.cancelBubble = true;
请详细看here
【讨论】: