better transitionend event support