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);



