Это поможет:
element.addEventListener('webkitAnimationEnd', function(event) { });
в Firefox событие называется 'animationend', но некоторые браузеры webkit будут слушать оба из них.Вместо этого, если вы используете jquery, вы можете использовать
$element.on('webkitAnimationEnd animationend' , function(event){ });
Обновление:
Недавно у меня произошел небольшой сбой при использовании .one('webkitAnimationEnd animationend')
, так как обасобытия прослушиваются в chrome, но одновременно запускается только одно, одна и та же функция будет срабатывать дважды при двух отдельных конечных событиях анимации.
Вместо небольшого трюка можно использовать функцию, подобную этой:
getTransitionEndEvent : function(){
switch(this._currentBrowser){
case enums.Browser.SAFARI:
case enums.Browser.CHROME:
return "webkitTransitionEnd";
case enums.Browser.FIREFOX:
return "transitionend";
default:
console.log("unknown browser agent for transition end event");
return "";
}
}
и добавьте при необходимости дополнительные префиксы, специфичные для поставщика.
Чтобы идентифицировать браузер, я действительно могу порекомендовать следующее:
Как определить Safari, Chrome,IE, Firefox и браузер Opera?