2009-04-27 4 views
1

Comment afficher la fonction myFunction pour la fonction en ligne dans l'événement .ready()?Fonctions en ligne et autres méthodes

$(document).ready(function() { 
    ...stuffs... 
    myFunction(par1, par2, anotherFucntion_callback); 
} 
); 

function anotherFunction_callback(data) { 
..stuffs.. 
} 
+0

Si vous le présentez tel qu'il est maintenant, cela devrait fonctionner. myFunction_callback est globalement visible. – Rashack

Répondre

1

Je n'ai pas vraiment compris votre question. Voulez-vous dire que vous voulez passer « myFunction_callback (données) », comme le dernier argument dans votre:

myFunction(par1, par2, anotherFunction_callback); 

, y compris le paramètre « données »?

Dans ce cas, la solution est assez standard, écrire ceci avant que celui-ci:

var temp = function() { anotherFunction_callback(data) }; 

une autre syntaxe est:

function temp() { myFunction_callback(data) }; 
// even though this looks just like a free function, 
// you still define it inside the ready(function()) 
// that's why I call it "alternative". They are equivalent. 

En général, si vous voulez passer une fonction avec 1 ou plus d'arguments à une autre fonction, vous utilisez ce format. Ici, nous créons essentiellement une nouvelle fonction sans argument qui en appelle une autre. La nouvelle fonction a accès à la variable "data". C'est ce qu'on appelle la «fermeture», vous voudrez peut-être en lire plus à ce sujet. Bien sûr, si le rappel ne nécessite aucun argument, vous pouvez simplement utiliser le nom de la fonction d'origine.

J'espère que cela aide. Ps: Vous pouvez même intégrer la déclaration de la fonction, la rendant anonyme, comme ceci: myFunction (par1, par2, function() {myFunction_callback (data)}); Notez que le

$(document).ready(function() {}); 

semble à peu près comme ça.

+0

Le premier que vous avez dit. Merci. –

1

Vous utilisez le nom réel de la fonction, à savoir myFunction_callback au lieu de myFunction ou anotherFucntion_callback.

+0

J'ai mal typé l'exemple. Bien sûr, myFunction_callback et anotherFunction_callback sont les mêmes. –

Questions connexes