/ / plugin jQuery méthode qui ne prend pas un élément - javascript, jquery, jquery-plugins

méthode de plugin jQuery qui ne prend pas d'élément - javascript, jquery, jquery-plugins

Je suis en train de créer un plugin jQuery dans lequel l’une des méthodes que j’aimerais écrire ne prend pas d’argument de sélecteur et n’a pas besoin de passer un élément. Je voudrais qu'il soit disponible par un appel comme $.myMethod() comme le construit en $.ajax() méthode. Jusqu'à présent, j'ai "essayé quelque chose comme

$.fn.myMethod(options) {
console.log("I"ve been called");
}

Ça marche quand j'essaye $(".a_selector").myMethod() mais pas quand j'essaye $.myMethod().

Est-ce faisable avec un plugin jQuery ou est-ce seulement disponible pour les fonctions internes?

Le but de cette méthode est d’effectuer uneaction sur certaines données stockées dans jQuery.data. Je reconnais que jQuery.data est associé à un élément, mais dans ce cas, je l'ai codé en dur dans l'élément body pour faciliter la tâche de l'utilisateur final.

Réponses:

2 pour la réponse № 1

Les fonctions membres de $.fn appliquer aux objets jQuery, pas à la $ objet lui-même. Si vous voulez créer une telle méthode, il vous suffit d'écrire:

$.yourMethod = function() {
// Do something.
};

Vous pouvez maintenant l'appeler sans objet jQuery:

$.yourMethod();

0 pour la réponse № 2

Une manière élaborée de déclarer une telle fonction peut être

$.extend({myMethodA:function(){
//Do something
},
myMethodB:function(){
//Do something else
}
});