Se si utilizza un oggetto come interfaccia per un plugin jQuery, occorre controllarne l'inizializzazione.
Possiamo usare gli attributi di dati per registrare un'istanza dell'oggetto in uso:
"use strict";
$.fn.hilight = function( options ) {
var Hilight = function( element ) {
this.$element = element;
};
return this.each(function() {
var $element = $( this );
if( !$element.data( "init" ) ) {
var instance = new Hilight( $element );
$element.data( "init", instance );
}
});
};
In questo modo il plugin verrĂ inizializzato una sola volta sull'elemento evitando pericolose sovrapposizioni.