function sniffEndEvents () {
    var el = document.createElement('vue'),
        defaultEvent = 'transitionend',
        events = {
            'transition'       : defaultEvent,
            'mozTransition'    : defaultEvent,
            'webkitTransition' : 'webkitTransitionEnd'
        },
        ret = {}
    for (var name in events) {
        if (el.style[name] !== undefined) {
            ret.trans = events[name]
            break
        }
    }
    ret.anim = el.style.animation === ''
        ? 'animationend'
        : 'webkitAnimationEnd'
    return ret
}
/**
 *  Sniff proper transition end event name
 */
Sniff proper transition end event name
Sniff proper transition end event name
function sniffEndEvents () {
    var el = document.createElement('vue'),
        defaultEvent = 'transitionend',
        events = {
            'transition'       : defaultEvent,
            'mozTransition'    : defaultEvent,
            'webkitTransition' : 'webkitTransitionEnd'
        },
        ret = {}
    for (var name in events) {
        if (el.style[name] !== undefined) {
            ret.trans = events[name]
            break
        }
    }
    ret.anim = el.style.animation === ''
        ? 'animationend'
        : 'webkitAnimationEnd'
    return ret
}
function sniffEndEvents ( ) { var el = document . createElement ( 'vue' ) , defaultEvent = 'transitionend' , events = { 'transition' : defaultEvent , 'mozTransition' : defaultEvent , 'webkitTransition' : 'webkitTransitionEnd' } , ret = { } for ( var name in events ) { if ( el . style [ name ] !== undefined ) { ret . trans = events [ name ] break } } ret . anim = el . style . animation === '' ? 'animationend' : 'webkitAnimationEnd' return ret }
Sniff proper transition end event name
Sniff proper transition end event name