Как нормализовать функции перехода CSS3 в браузерах?

Конечное событие перехода Webkit называется webkitTransitionEnd, Firefox - transitionEnd, Opera - oTransitionEnd. Как лучше всего решить их все на чистом JS? Стоит ли анализировать браузер? или реализовать каждый отдельно? Другой способ, который мне не приходил в голову?

например:

//doing browser sniffing
var transitionend = (isSafari) ? "webkitTransitionEnd" : (isFirefox) ? "transitionEnd" : (isOpera) ? "oTransitionEnd";

element.addEventListener(transitionend, function(){
  //do whatever
},false);

или

// Assigning an event listener per browser
element.addEventListener("webkitTransitionEnd", fn);
element.addEventListener("oTransitionEnd", fn);
element.addEventListener("transitionEnd", fn);

function fn() {
   //do whatever
}
89
задан Brian Tompsett - 汤莱恩 5 September 2019 в 07:20
поделиться