2011-06-28 2 views
3

Je dois inclure dynamiquement un script via $ .getScript.

Le problème est cependant que la fonction $ (document) .ready de ce script inclus dynamiquement n'est pas exécutée. (L'insertion dynamique ne se fait pas à dom ready)

Existe-t-il un moyen de le forcer à le faire? Par exemple, faire semblant d'un événement document.ready?

Merci, Wesley

+0

double possible de [jquery: déclencheur document.ready de $ (donc le code AJAX que je ne peux pas modifier est exécuté)] (http://stackoverflow.com/questions/2238030/jquery-trigger-document-ready-so-ajax-code-i-cant-modify-is-executed) –

Répondre

4

Une fois que la commande doc ready a été déclenchée, tous les futurs appels de doc ready seront exécutés une fois analysés.

Read the API

Le gestionnaire est passé à .ready() est garantie à exécuter après l' DOM est prêt

+0

Merci, il semblerait que la faute se soit trouvée dans une autre section du code, cela fonctionne exactement comme vous l'avez décrit. – Wesley

1

Il est logique que les nouveaux gestionnaires définis par $.getScript() manquent l'événement document.ready depuis DOM du document terminé le chargement de façon plus tôt.

Avez-vous essayé $(document).trigger('ready') afin de re-déclencher cet événement? Bien sûr, tous les gestionnaires d'événements enregistrés plus tôt seront rappelés.

+0

Les gestionnaires '$ (document) .ready' s'exécutent immédiatement si le document est déjà chargé. (La même chose n'est pas vraie pour '$ (document) .bind ('ready'', cependant.) – Tgr