JSFiddle - React, Tailwind, and code Playground
HTML
<button id="byListener">Click me!</button>
<button id="byDecorator">Click me too!</button>
JavaScript
var button = document.getElementById('byListener');
var onButtonClick = function(event) {
alert('Hello world!');
button.removeEventListener('click', onButtonClick);
}
button.addEventListener('click', onButtonClick, false);
// ---------
var secondButton = document.getElementById('byDecorator');
var one = function(fn) { // Our decorator
var runned = false;
return function() {
if(!runned) {
runned = true;
return fn.apply(arguments);
}
}
}
var onSecondButtonClick = one(function(event) {
alert('Hello world!');
})
secondButton.addEventListener('click', onSecondButtonClick, false);