I plugin di jQuery sono progettati per aggiungere delle azioni ad un set di elementi. La loro struttura, tuttavia, prevede che le azioni siano legate agli elementi solo in un determinato punto e non prima. Se non si segue questa regola, il codice funzionerà solo sul primo elemento del set.
Ripassiamo la struttura di un plugin jQuery:
(function($) {
$.fn.plugin = function(options) {
// definizione delle opzioni
return this.each(function() {
// il codice viene legato a tutti gli elementi del set
});
};
})(jQuery);
Questa struttura prevede che le azioni vengano eseguite all'interno del ciclo each()
. Se il codice viene eseguito prima, ad esempio utilizzando funzioni od oggetti di utility, quest'ultimo verrà legato solo alla prima istanza dell'oggetto this
, che fa riferimento ad un solo elemento jQuery.
this
necessita del ciclo each()
in modo da potersi legare a tutte le istanze degli oggetti, e non solo alla prima. Quindi il codice va eseguito laddove esiste questo legame tra this
e tutti gli elementi del set.