// XXX Should we use something like Moderniz instead of our custom detector? function whichTransitionEvent() { const el = document.createElement('fakeelement'); const transitions = { transition: 'transitionend', OTransition: 'oTransitionEnd', MSTransition: 'msTransitionEnd', MozTransition: 'transitionend', WebkitTransition: 'webkitTransitionEnd', }; for (const t in transitions) { if (el.style[t] !== undefined) { return transitions[t]; } } return null; } function whichAnimationEvent() { const el = document.createElement('fakeelement'); const transitions = { animation: 'animationend', OAnimation: 'oAnimationEnd', MSTransition: 'msAnimationEnd', MozAnimation: 'animationend', WebkitAnimation: 'webkitAnimationEnd', }; for (const t in transitions) { if (el.style[t] !== undefined) { return transitions[t]; } } return null; } CSSEvents = { transitionend: whichTransitionEvent(), animationend: whichAnimationEvent(), };