Html 当元素';儿童';中国的过渡结束了吗?

Html 当元素';儿童';中国的过渡结束了吗?,html,css,css-transitions,transition,transitions,Html,Css,Css Transitions,Transition,Transitions,我将transitionend事件绑定到div1。当div1的转换结束时,事件运行。没问题 我遇到了一个特殊情况: 我在这个div1中添加了3个段落,当每个段落的转换结束时,div1的transitionend事件也会运行。因此,transitionend事件运行了4次 这称为事件冒泡。默认情况下,在对原始对象调用事件处理程序后,子元素上发生的许多事件将通过父元素冒泡。您可以通过检查事件对象来检测冒泡,也可以在处理源对象上的事件时停止传播来防止冒泡 停止传播是IE与其他浏览器不同的事情之一。在其

我将
transitionend
事件绑定到
div1
。当
div1
的转换结束时,事件运行。没问题

我遇到了一个特殊情况:


我在这个
div1
中添加了3个段落,当每个段落的转换结束时,
div1
transitionend
事件也会运行。因此,
transitionend
事件运行了4次 这称为事件冒泡。默认情况下,在对原始对象调用事件处理程序后,子元素上发生的许多事件将通过父元素冒泡。您可以通过检查
事件
对象来检测冒泡,也可以在处理源对象上的事件时停止传播来防止冒泡

停止传播是IE与其他浏览器不同的事情之一。在其他浏览器中,您可以调用:

event.stopPropagation()
在IE9之前的IE中:

window.event.cancelBubble = true;

我找不到这个问题的复制码。但我可以确定我看到了“event.target!=”该函数位于transitionend事件的侦听器函数体中。我不明白这个奇怪的问题。你认为这是Chrome和Firefox的缺陷吗?谢谢你的回答。首先,我认为
transitionend
事件应该是一个特殊的事件。不应将其添加到事件冒泡链中。所以W3C应该改进HTML5
transitionend
event的规范。其次,我真的没有将
transitionend
事件绑定到3个段落。所以这似乎是Chrome和Firefox的HTML5规范实现缺陷?我只将过渡设置为3个段落。@WeiLou-很多事件都会冒泡(点击、按键等)。这是浏览器中的工作方式,因此
transitionend
与其他事件没有区别。你只需要现在就知道,并为它编码。如果您想知道事件是否属于此特定对象,那么只需查看
event.target
,查看它是否与您的对象匹配,或者它是否是其他对象。在某些情况下,冒泡可能非常有用。谢谢您的评论。:)