jQuery - document.prêt qui ne se déclenche pas lorsque le contenu est chargé avec AJAX
J'ai une simple coutume de tabulation module qui se charge de les onglets avec une requête AJAX (via $(elem).load()
). Sur chaque page qui est chargé avec de l'AJAX j'ai un peu de JavaScript. La première fois que le chargement de la page (via la saisie directe de l'URL, pas AJAX), le javascript, les feux de la perfection. Quand je naviguez à partir de la page via AJAX onglets, le javascript dans les pages ne se chargent pas plus.
Est-il de toute façon je peux les forcer à s'exécuter?
(Le javascript qui n'est pas de tir est placé dans un $(document).ready()
fonction si ça peut aider)
OriginalL'auteur Eduard Luca | 2011-09-21
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'utiliser le callback de
load()
fonction:Vous pouvez mettre toutes vos actions dans
$(document).ready
dans une fonction (exActionOnDocumentReady()
) et de l'appeler surload()
de rappel.OriginalL'auteur Samich
la domeready événement se déclenche uniquement lorsqu'au début des dom est prêt (comme le nom et le jquery-api suggèrent).
si vous souhaitez utiliser jquerys load() et le feu d'une fonction si le chargement a été fait, vous aurez à utiliser un callback fonction (selon l'api).
si vous voulez faire la même chose sur domready et de la charge des événements, le meilleur moyen serait de définir une nouvelle fonction pour que:
et le feu de cette fonction dans les deux cas:
OriginalL'auteur oezi
Mettre votre
$(document).ready()
code dans une méthode nouvelle. Appelons celamethodA
. Maintenant appeler cettemethodA
de$(document).ready()
. Deuxièmement, l'appel à la même méthode après une requête ajax est un succès. Cela devrait résoudre votre problème.OriginalL'auteur wasimbhalli