Se i nostri plugin jQuery utilizzano plugin di terze parti, è necessario rendere i nostri plugin agnostici rispetto al plugin utilizzato. Vediamo insieme questa soluzione.
Supponiamo che il nostro plugin utilizzi un plugin per le lightbox delle immagini. La soluzione è la seguente:
(function( $ ) {
$.fn.plugin = function( options ) {
var settings = {
pluginName: "fancybox",
pluginOptions: {}
};
options = $.extend( settings, options );
return this.each(function() {
var $element = $( this );
$element[options.pluginName]( options.pluginOptions );
});
};
})( jQuery );
In questo modo se vogliamo cambiare il plugin di terze parti dobbiamo semplicemente scrivere:
$( "#test" ).plugin({
pluginName: "colorbox"
});
Si tratta di una soluzione che ci evita di sostituire manualmente ogni chiamata al plugin.