J'essaye d'écrire un plugin jQuery, qui peut être appliqué à un sélecteur. Dans ce plugin, il y a plusieurs appels aux webservices, où des méthodes de rappel sont requises.Passer des variables à des fonctions de rappel
Le problème que je rencontre est de maintenir l'élément de contexte actuel dans chaque boucle du sélecteur.
(function($){
$.fn.myMethod = function(){
return this.each(function(){
var c = $(this);
$.api.methodToCall("", CallbackFunction);
});
};
function CallbackFunction(data, result){
// do stuff based on c
}
})(jQuery);
Normalement, vous fournirais immédiatement la fonction de rappel, ce qui me permet d'accéder à c, mais dans la fonction de rappel, il y a potentiellement un autre appel api, il commencerait à se salir. Est-ce qu'il y a un moyen de faire ça?
La fonction appelée immédiatement n'est pas nécessaire ici car il n'y a pas d'itération avec les variables partagées en cours. –
@Sean Kinsey: ah, vous avez raison, c'était trop compliqué. édité. J'ai attribué +1 à vous, et gardez mes exemples pour illustrer que le rappel peut être extrait à une fonction séparée (pour la lisibilité, par exemple), et toujours avoir une référence au contexte, qui je crois était le noyau de la question. –