J'ai cette fonction jQuery Ça fonctionne bien
Quand je fais: p> mais je veux envoyer la fonction de rappel à l'intérieur de la variable (rappel)
C'est-à-dire: au lieu de bouillir le $ ("# widget_accordion"). Accordéon ({Fillspace: True}); À l'intérieur de la fonction de rappel, je veux l'envoyer: p> puis la fonction doit être quelque chose comme: p> mais Cela ne fonctionne pas p> Merci d'avance pour votre aide p> p>
5 Réponses :
Vous devez appeler la fonction à l'intérieur du rappel
function example(file, targetwidget, callback){ $(targetwidget).load(file, {limit: 25}, function(){ callback(); });
mais rappel = $ ("# widget_accordion"). Accordéon ({Fillspace: True}); je vais essayer
Vous devez toujours invoquer la fonction en l'appelant avec ()
En supposant que le rappel est en effet une fonction valide!
Cela devrait fonctionner:
$(targetwidget).load(file, {limit: 25}, callback);
Ça ne fonctionne pas car la valeur à l'intérieur du rappel est la forme de texte jQuery point de vue
Eh bien .. vous faites de cette façon:
function example(file, targetwidget, callback){ $(targetwidget).load(file, {limit: 25}, function(){ if(typeof(callback)==='function'){ callback.call(this, 'other parameters'); } });
Alors ... il semble que le rappel n'est vraiment pas une fonction :)
Puisque vous passez une chaîne de texte, vous devez l'évaluer:
function callback() { $("#widget_accordion").accordion({fillSpace: true}); } function example(file, targetwidget, callback){ $(targetwidget).load(file, {limit: 25}, function(){ if(typeof(callback)==='function'){ callback.call(this); } }); example('http://example.com/', "#divid", callback);
Répondu il y a 3 minutes Googletorp 666 ● 10 -> Et nous savons tous que l'EVAL est mauvais!
Ouais, lisez mon commentaire Stackoverflow.com/Questtions/1153241/... . Il suffit d'utiliser appel () au lieu d'eval ()
Pour réussir le rappel, la variable doit être de type de type. N'importe lequel d'entre eux devrait fonctionner:
Pour ajouter cette excellente réponse, vous voudrez peut-être ajouter une validation à cela également, je suggère d'utiliser JQuery's $. Fishiscifunction () ( API.JQUERY.COM/JQUERY.FUNCTION )
Avez-vous essayé de rappeler (); ?
Je l'ai essayé mais le problème est que le rappel est: $ ("# widget_accordion"). Accordéon ({Fillspace: True});