JSFiddle - React, Tailwind, and code Playground
CSS
#d1 {
width: 100px;
height: 100px;
background: #369;
cursor: pointer;
}
JavaScript
addEventHandler(
document.getElementById('d1'), 'click',
makeFuncSequence(
function() {
this.style.background = '#963';
},
function() {
this.style.background = '#369';
}));
function addEventHandler(el, event, handler) {
function wrapper(e) {
return handler.apply(el, arguments);
}
if (el.addEventListener) {
el.addEventListener(event, wrapper, false);
} else {
el.attachEvent('on' + event, wrapper);
}
}
function makeFuncSequence() {
var i = 0;
var funcs = arguments;
return function() {
var r = funcs[i].apply(this, arguments);
i = (i + 1) % funcs.length;
return r;
};
}