Ajouter et appeler une fonction javascript dynamic avec jQuery

Pouvez-vous créer une fonction javascript dynamic et l’appeler immédiatement?

J’ai déjà constaté que vous ne pouvez pas utiliser le rappel de append.

proposé, non fonctionnel, code:

 var count=1; $(document).ready(function(){ $(".main").append(' function init'+count+'(){alert("'+count+'");} '); window['init'+count](); });  

Modifier:

Limité à un problème de synchronisation. Placer alert("") entre append et window le fait fonctionner, mais ce n’est pas vraiment une solution utile car le nombre peut aller jusqu’à 100 lorsque je place ce code dans une boucle. Je suppose que je vais devoir continuer à chercher.

Cela devrait fonctionner, mais vous ne citez pas correctement. Il ne devrait pas y avoir de guillemets doubles non échappés dans append(" et ") . Essayer:

 $(".main").append("  

utilise un script externe et $.getScript() , il vous permet de spécifier un rappel et rend votre code un peu plus propre

 $.getScript("http://scriptURL.com/script.js", function(){ itit(); }); 

Inutile de mettre le code en ligne. Vous pouvez simplement l’exécuter au même endroit que vous ajoutez les balises ou utiliser jQuery.globalEval();

Oui, vous pouvez! C’est ainsi que javascript a été inventé! C’est extrêmement puissant:

  

ou, si vous voulez juste construire et appeler la fonction sans la stocker …