【问题标题】:TransitionEnd listener firing on child elementsTransitionEnd 监听器在子元素上触发
【发布时间】:2014-10-11 00:28:44
【问题描述】:

我向div 添加了一个transitionend 事件侦听器。这个div 的孩子在某些元素上有过渡。我希望 transitionend 事件只为我添加它的元素触发,这是一个错误吗?或预期的行为?仅当我将侦听器添加到其中时,如何使其触发?

【问题讨论】:

    标签: javascript css


    【解决方案1】:

    事件默认冒泡, 这意味着它们将被“传输”到父元素,直到它们到达主体或阻止它们的处理程序。

    你可以:

    • event's target 过滤,确保它是您的目标元素。
    • 收听关于儿童的事件和关于他们的event.stopPropagation()。这样,它们就不会再通过父级冒泡了。

    如果您向我们展示一些代码,那么帮助您会更容易,具体取决于您当前的实现。

    【讨论】:

    • 感谢您提供的这些选项,这很好!我选择了 event.stopProp
    【解决方案2】:

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

    event.stopPropagation()
    

    在 9 之前的 IE 中。

    你可以这样做

    window.event.cancelBubble = true;
    

    请详细看here

    【讨论】:

    • 请不要介意,但我接受了其他人的回答,因为他先发帖。但是非常感谢您的 IE9 信息和解释。
    • 没关系的人..接受答案并不重要..不管它是否对您有所帮助,很高兴它帮助了您..:) 干杯..快乐编码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 2014-02-24
    • 2019-09-28
    相关资源
    最近更新 更多