Javascript addEventListener在动画结束时不触发

Javascript addEventListener在动画结束时不触发,javascript,jquery,css,animation,Javascript,Jquery,Css,Animation,我正在使用动画元素。我想在动画完成后运行一些javascript。出于某种原因,以下操作不起作用 myElement.addEventListener("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() { //code never runs }, false); jQuery的.on()方法可以工作,但我希望避免使用jQuery: myElement.on

我正在使用动画元素。我想在动画完成后运行一些javascript。出于某种原因,以下操作不起作用

myElement.addEventListener("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
    //code never runs
}, false);
jQuery的
.on()
方法可以工作,但我希望避免使用jQuery:

myElement.on("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
    //code runs
});

为什么会这样?还有没有其他方法可以在不使用jQuery的情况下检测动画何时结束?

使用
.forEach()
方法将多个事件类型放在一个数组中

片段

var div=document.querySelector('.animated');
['webkitAnimationEnd','animationend'].forEach(函数(e){
div.addEventListener(e,eventHandler,false);
});
函数eventHandler(e){
var tgt=e.target;
tgt.style.color='red';
}


塔达
我不确定您是否可以在同一个
addEventListener
调用中添加多个要侦听的事件。我认为您可能必须分别使用每个
animationEnd
侦听器。虽然可以在一个侦听器上使用多个不同的事件,但供应商前缀事件、样式属性等必须单独使用。@Cristy您可能是对的。不幸的是,即使拆分为多个侦听器,纯javascript方法也不起作用?您是否在转换完成之前添加侦听器?@Cristy我错了,我的代码中还有另一个问题。将其拆分为多个侦听器就成功了!