71 votes

Comment ajouter une fonction à jQuery?

Quel est le moyen le plus simple de définir une nouvelle fonction membre jQuery?

Pour que je puisse appeler quelque chose comme:

 $('#id').applyMyOwnFunc()
 

117voto

keyboardP Points 44625

Veuillez voir Définir vos propres fonctions dans jQuery :

Dans cet article, je souhaite expliquer à quel point il est facile de définir vos propres fonctions dans jQuery et de les utiliser.

De la poste:

 jQuery.fn.yourfunctionname = function() {
    var o = $(this[0]) // It's your element
};
 

Utilisé:

 $(element).yourfunctionname()
 

35voto

tvanfosson Points 268301

C'est le modèle que je préfère définir mes propres plugins.

 (function($) {

    $.fn.extend({
        myfunc: function(options) {
            options = $.extend( {}, $.MyFunc.defaults, options );

            this.each(function() {
                new $.MyFunc(this,options);
            });
            return this;
        }
    });

    // ctl is the element, options is the set of defaults + user options
    $.MyFunc = function( ctl, options ) {
         ...your function.
    };

    // option defaults
    $.MyFunc.defaults = {
        ...hash of default settings...
    };

})(jQuery);
 

Appliqué comme:

 $('selector').myfunc( { option: value } );
 

19voto

Marcel Levy Points 2378

La documentation de jquery contient une section sur la création de plug-in, où j'ai trouvé cet exemple:

 jQuery.fn.debug = function() {
  return this.each(function(){
    alert(this);
  });
};
 

Ensuite, vous pourrez l'appeler de cette façon:

 $("div p").debug();
 

14voto

RageZ Points 15212

jQuery a la fonction extend pour le faire

 jQuery.fn.extend({
  check: function() {
    return this.each(function() { this.checked = true; });
  },
  uncheck: function() {
    return this.each(function() { this.checked = false; });
  }
});
 

vous pouvez voir la documentation ici

3voto

JGarrido Points 131

Voici un plugin, dans sa forme la plus simple ...

 jQuery.fn.myPlugin = function() {
  // do something here
};
 

Vous voudrez vraiment consulter la documentation si:

http://docs.jquery.com/Plugins/Authoring

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X