JavaScript: emulare il metodo .one() di jQuery

Non è difficile con JavaScript fare in modo che il codice legato ad un evento venga eseguito una sola volta.

jQuery dispone del metodo .one(). Ecco la nostra implementazione:


var one = function( element, evt, callback ) {
	
  element.addEventListener( evt, function( e ) {
	e.preventDefault();
	if( !element.dataset.fired ) {
		callback();
		element.dataset.fired = true;
	}
   }, false);
};

In pratica tramite un valore booleano legato all'elemento facciamo in modo che il codice venga eseguito una sola volta.

Torna su