JSFiddle - React, Tailwind, and code Playground

HTML

<p id="paragraph">Hover over this paragraph to see the unprefixed transition work in Chrome Canary (26.0.1367.0 canary) and Webkit Nightly (8536.26.17, 537+). But open the console and notice that the unprefixed transitionend event doesn't fire. This <strong>does</strong> work in Chrome Stable (23.0.1271.101).</p>

CSS

p {
  -webkit-transition: color .3s;
  transition: color .3s;
}
p:hover {
  color: red;   
}

JavaScript

var transitionEnd = (function() {
    
  var el = document.createElement('div');
  var eventMap = {
    // list the w3 event first so it's used if found
    'transition'       : 'transitionend',
    'WebkitTransition' : 'webkitTransitionEnd',
    'MozTransition'    : 'transitionend',
    'OTransition'      : 'oTransitionEnd otransitionend'
  };

  for (var key in eventMap) {
    if (eventMap.hasOwnProperty(key) && el.style[key] != null) {

      // return the transition end event in the map
      return eventMap[key];
    }
  };
})();

var p = document.getElementById("paragraph");
p.addEventListener(transitionEnd, function() {
 console.log("Transition ended."); 
});