la fenêtre de la charge à l'intérieur d'un document de prêt?
Désolé si cela a déjà été répondu avant, mais toutes les recherches parler des différences, non pas à propos de les utiliser ensemble, si possible.
Tout simplement, vous pouvez $(window).load.(function() {})
être utilisé à l'INTÉRIEUR de $(document).ready.(function() {})
?
J'ai quelques choses qui doit être fait après que le DOM est chargé, mais ensuite, je tiens à révéler certains éléments seulement après les images ont fini de charger. La seule chose qui fonctionne dans Explorer 8, est de mettre le $(window).load
des fonctions à l'intérieur de la $(document).ready
avec tout le reste.
Est-ce une pratique acceptable?
Je veux juste utiliser la meilleure méthode pour révéler un DIV
qui contient des images de petite taille, comme une barre d'outils, après il est entièrement construit. (visibility
hidden
contre display
none
, par exemple). La page HTML de cette DIV
est écrit par le code à l'intérieur de la $(document).ready
et puis ajoutées au corps à l'aide de $('body').append()
avant d'utiliser le $(window).load
.
Je vais avoir beaucoup de problèmes avec Explorer 8.
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne bien et est une pratique acceptable. Après tout, comme vous le décrivez, il peut y avoir des cas où la logique de la
$(window).load()
gestionnaire dépend de travail aura lieu après que le DOM est prêt. Si la fenêtre est en fait déjà chargé par le temps que vous$(window).load()
, le gestionnaire sera juste le feu immédiatement.EDIT:
NOTE: Cette réponse n'est applicable qu'à jQuery v2 et ci-dessous.
jQuery
.prêt()
événement:jQuery
.load()
événement méthode:Basé sur jQuery documentation ci-dessus, j'ai rien vu qui pourrait indiquer des problèmes avec les éléments suivants:
Plaçant un
.load
à l'intérieur d'unready
simplement garantit que le DOM est prêt quand leload
est déclenché.L'on peut souhaiter à la place tous jQuery code au sein d'un seul DOM prêt gestionnaire, et pourtant reste peut-être un sous-ensemble de jQuery code qui exige que toutes les images être chargé en premier. Cette entente garantit que tous les code déclenché une fois sur les DOM et le reste sera déclenché par la suite à chaque fois que la page d'actifs ont fini de charger.
Cela peut finalement être plus une question de préférence personnelle, cependant, l'OP a été clairement demander si cet arrangement serait causer des problèmes. Cela n'a pas été prouvé pour être vrai.
AVERTISSEMENT:
Les réponses à cette question sont tout à fait obsolète.
Comme @ViRuSTriNiTy mentionné dans les commentaires que ce code n'est plus valable en jQuery 3 et il a été mentionné comme un problème sur GitHub.
Donc cette méthode n'est pas conseillé plus.
Une façon de le faire est d'utiliser le code suivant
Toutefois, ce code ne fonctionnera pas si vous chargez des images dans le prêt et voulez l'appeler du code après il est entièrement chargé.
$(window).on("load"...
ne sera jamais le feu à l'intérieur d'undocument ready
fonction.J'ai rencontré ce problème récemment... à partir de jQuery version 3, nous ne pouvons plus mettre $(window).sur (la "charge") à l'intérieur du document.prêt()... car prêt gestionnaire sont appelés de manière asynchrone, ce qui signifie prêt peut être appelée après la charge.
De jQuery Équipe de Base: Github: jQuery 3 questions
C'est la façon dont les deux méthodes devraient être appelé: