TransitionEnd侦听器触发子元素

时间:2014-10-11 00:28:44

标签: javascript css3

我向transitionend添加了div事件监听器。这个div有孩子在一些元素上有过渡。我希望transitionend事件只针对我添加它的元素触发,这是一个错误吗?或预期的行为?如何只有在我添加了监听器的情况下才能触发它?

2 个答案:

答案 0 :(得分:13)

默认情况下,事件冒泡 这意味着他们将被“传递”到父元素,直到他们击中身体或将会阻止它们的处理程序。

你可以:

  • event's target过滤,确定它是您要定位的元素。
  • 听取关于儿童的事件和event.stopPropagation()关于他们的事件。这样,他们就不会再通过父母了。

如果您向我们展示了一些代码,那么根据您当前的实施情况,它会更容易为您提供帮助。

答案 1 :(得分:6)

此过程称为Event Bubbling。您可以做的事情是使用事件处理程序检测冒泡或通过停止传播来阻止冒泡。你可以通过

来做到这一点
event.stopPropagation()

在IE beofore 9中。

你可以这样做

window.event.cancelBubble = true;

请详细了解here