with plugin español create crear and jquery plugins authoring

español - Creación de jQuery Plugin: ¿Por qué algunos hacen jQuery.pluginName y otros jQuery.fn.pluginName?



jquery plugin settings (1)

jQuery.fn.mypluging name extiende objetos jQuery:

$(selector); //a jquery object $(selector).myplugin();

jQuery.myplugin amplía el objeto jquery en sí mismo:

$; //the jQuery object $.myPlugin();

Al agregar su complemento a jQuery.fn, puede hacer cosas a los objetos encontrados por ese selector:

jQuery.fn.makeRed = function(){ this.each( function() { $(this).css(''color'', ''red''); } } $(''div.someClass'').makeRed(); //makes all divs of class someclass have red text

La extensión del objeto jQuery en sí misma generalmente se realiza para funciones que su clase necesita pero que no extienden los objetos jQuery. Entonces, para extender nuestro ejemplo anterior:

jQuery.fn.doStuff = function(){ this.each( function() { $(this).css(''color'', ''red'') .append($.doStuff.giveMeRandom()); } } jQuery.doStuff = { giveMeRandom: function() { return Math.random(); } } $(''div.someClass'').doStuff(); //makes all divs of class someclass have red text and append a random number to them

Por ejemplo, estoy viendo la fuente jCalendar, y el creador tiene dos partes diferentes del complemento, una función bajo "jQuery.jcalendar" y otra "jQuery.fn.jcalendar". ¿Cuál es el propósito de tener los dos separados? ¿Qué haces sobre el otro?