Laissez-moi comprendre. Selon les meilleures pratiques, nous devrions initialiser jQuery au bas de la page. Si nous faisons cela, toute référence à l'objet jQuery (c'est-à-dire $
ou jQuery
) au-dessus de la référence sera nulle. Cependant, comme pour $(document).ready()
, la raison pour laquelle cette fonction jQuery est toujours nécessaire est quand vous voulez retarder l'exécution d'une fonction après le chargement de la page. Cela semble être un conflit. Comment puis-je utiliser la fonctionnalité $(document).ready()
en haut de la page et toujours faire référence à jQuery en bas de la page? Je pense que jQuery devrait être initialisé en haut de la page pour cette raison même.
Répondre
Placez simplement $(document).ready
ci-dessous où vous initialisez jQuery, quel que soit l'emplacement. En réalité, vous devriez mettre tous vos JS en bas, même $(document).ready
.
Si vous allez mettre vos scripts au bas de la page à des fins d'efficacité, et qu'il n'y a pas d'autres éléments (au-delà de </body> and </html>
), vous n'aurez même pas besoin d'utiliser $(document).ready(...);
.
Placer votre code en haut de la page est sensé sémantiquement, et le temps de chargement "économies" est négligeable dans la plupart des cas. Cela ne fait vraiment la différence que lorsque les scripts sont énormes ou lorsque les scripts sont sur un autre serveur actif ou non.
Si vous créez un lien direct vers jQuery, je vous suggère de le mettre en bas de la page. Si vous créez une liaison locale avec jQuery, le top devrait être bon. Assurez-vous simplement d'utiliser du code réduit.
Attends ... quoi? J'avais l'impression que document.ready était un peu plus robuste que de coller du code à la fin de l'étiquette du corps. –
@SkippyChalmers, 'document.ready' est plus robuste que' body.onload', mais * both * sont des événements déclenchés lorsque le DOM a fini d'analyser/exécuter des éléments sur la page. Si vous placez un script à la fin de la page, vous aurez essentiellement fait la même chose. La seule différence sera que tous les scripts auront été exécutés avant le rappel de chargement, ce qui pourrait être important si le code d'exécution repose sur une bibliothèque qui n'a pas été chargée. – zzzzBov
- 1. jquery - portée à l'intérieur de $ (document) .ready()?
- 2. en utilisant la page de vue MVC + $ (document) .ready
- 3. Problème de Chrome et JQuery - $ (document) .ready (function() {}); être appelé avant que la page soit chargée
- 4. jQuery $ (document) .ready et ASP.NET MVC Partiel
- 5. IE7 jQuery (document) .ready() problème
- 6. $ (document) .ready() et chargement de la vue partielle
- 7. jQuery (document) .ready() load() aspx
- 8. $ (document) contenu .ready et iframe
- 9. jQuery $ (document) .ready? et UpdatePanels - quelques problèmes
- 10. jQuery FancyBox Iframe - Utilisation de $ (document) .ready dans la fancybox?
- 11. JQuery $ (document) .ready ajax load
- 12. seconde $ (document) événement .ready jQuery
- 13. Dans la page de contenu, l'événement jquery document ready se déclenche avant le chargement de la page de contenu.
- 14. Quelle est la différence entre $ (document) .ready (function() et (function() $
- 15. $ (document) .ready dans la page ascx après le rappel ajax
- 16. Si le bloc de code Javascript n'est pas à la fin du fichier HTML, mais utilise $ (document) .ready de jQuery (function() {...}), ralentira-t-il l'affichage de la page?
- 17. jQuery: $ (document) .ready() trop lent dans IE
- 18. problème de synchronisation avec jQuery et .ready $ (document)()
- 19. $ jQuery (document) de window.onsvgload .ready et svg-web
- 20. $ (document) .ready en javascript
- 21. Comment utiliser jQuery $ (document) .ready et un UpdatePanel ASP.NET ensemble?
- 22. Utilisez $ (document) .ready() pour autoriser l'exécution de la fonction
- 23. jQuery $ (document) .ready() ne se déclenche pas
- 24. jQuery $ (document) .ready(): plusieurs liaisons à l'événement de chargement de document sont-elles autorisées?
- 25. JQuery et cadres - $ (document) .ready ne fonctionne pas
- 26. jQuery $ (document) .ready() pas de tir après window.location.href
- 27. Différentes formes de (document) $ .ready
- 28. en utilisant jQuery en dehors de $ (document) .ready()
- 29. $ (document) .ready (function() {dans JQuery ... vous soucier
- 30. Gestion des erreurs dans jQuery (document) .ready
Vous avez raison. Vous devez mettre votre référence jQuery initiale avant d'utiliser $, donc si vous utilisez $ en haut de la page, c'est là que vous devez référencer la bibliothèque. – willoller
Oui - le conseil d'efficacité est en fait d'avoir tout javascript au bas de la page. Vous pouvez toujours avoir l'initialisation jQuery en tant que partie supérieure de ce javascript et utiliser $ (function() {...}); APRÈS cela –
Ce qui m'ennuie, c'est que le framework de Telerik MVC doit référencer son javascript et ses frameworks dépendants (ie: jquery) au bas de la page pour que leurs contrôles fonctionnent correctement. J'ai décidé d'utiliser window.onload() pour le moment. – burnt1ce