Modernizr中使用了一项技术,对它进行了改进:
function transitionendEventName () {
var i,
undefined,
el = document.createElement('div'),
transitions = {
'transition':'transitionend',
'OTransition':'otransitionend', // otransitionend in very old Opera
'MozTransition':'transitionend',
'WebkitTransition':'webkittransitionend'
};
for (i in transitions) {
if (transitions.hasOwnProperty(i) && el.style[i] !== undefined) {
return transitions[i];
}
}
//TODO: throw 'transitionend event is not supported in this browser';
}
var transitionend = transitionendEventName();
element.addEventListener(transitionend, theFunctionToInvoke, false);