Vous pouvez avoir plusieurs $(document).ready(function(){ ... }); les sections?
Si j'ai beaucoup de fonctions au démarrage ont-ils tous sous un seul:
$(document).ready(function() {
ou puis-je avoir plusieurs de telles déclarations?
- Nécessaire surtout quand j'ai besoin de charger plusieurs fichiers js, où chacun contient $(document).prêt(); la fonction
- cette question a été posée sur une interview 😀 Merci
Vous devez vous connecter pour publier un commentaire.
Vous pouvez avoir plusieurs, mais il n'est pas toujours la chose la plus fantastique à faire. Essayez de ne pas en abuser, comme il va sérieusement affecter la lisibilité. Autre que cela , c'est parfaitement légal. Voir ci-dessous:
http://www.learningjquery.com/2006/09/multiple-document-ready
Essayez ceci:
Vous trouverez qu'il est équivalent à ceci, notez que l'ordre d'exécution:
Il est également intéressant de noter qu'une fonction définie dans un délai d'un
$(document).ready
bloc ne peut pas être appelé à partir d'un autre$(document).ready
bloc, j'ai juste couru ce test:de sortie a été:
Vous pouvez utiliser plusieurs. Mais vous pouvez également utiliser plusieurs fonctions à l'intérieur d'un document.prêt ainsi:
Oui, vous pouvez facilement avoir plusieurs blocs. Juste être prudent avec les dépendances entre eux que l'ordre d'évaluation peut ne pas être ce que vous attendez.
Oui il est possible d'avoir plusieurs $(document).prêt() appelle. Cependant, je ne pense pas que vous pouvez savoir de quelle manière ils seront exécutés. (source)
Ready handlers bound this way are executed after any bound by the other three methods above.
Oui c'est possible, mais vous pouvez mieux utiliser un div #mydiv et utiliser les deux
Oui, c'est parfaitement ok.mais évitez de le faire sans une raison. Par exemple, je l'ai utilisé pour déclarer le site de règles séparément individuels que les pages lors de mes fichiers javascript sont générées dynamiquement, mais si vous venez continuer à le faire plus et plus il sera difficile à lire.
Aussi vous ne pouvez pas accéder à certaines méthodes d'un autre
jQuery(function(){});
appelc'est donc une autre raison, vous ne voulez pas le faire.
Avec l'ancien
window.onload
si vous remplacera l'ancien à chaque fois que vous avez spécifié une fonction.Oui, vous pouvez.
Document de plusieurs prêts sections sont particulièrement utiles si vous avez d'autres modules haging sur la même page qui l'utilisent. Avec l'ancien
window.onload=func
déclaration, à chaque fois que vous avez spécifié une fonction à appeler, il a remplacé l'ancien.Maintenant toutes les fonctions indiquées sont mis en file d'attente/empilées (quelqu'un peut confirmer?) indépendamment de document de prêt de la section qu'ils sont spécifiés dans.
Je pense que la meilleure façon d'y aller est de placer le commutateur de fonctions nommées (Vérifier ce débordement de pour en savoir plus sur ce sujet).
De cette façon, vous pouvez appeler à partir d'un seul événement.
Comme suit:
De cette façon, vous pouvez les charger en un seul prêt de la fonction.
});
Ce sera la sortie de la suite de votre console.journal:
De cette façon, vous pouvez réutiliser les fonctions pour d'autres événements.
C'est légal, mais parfois, il cause les comportements indésirables. Comme un Exemple, j'ai utilisé le MagicSuggest de la bibliothèque et a ajouté deux MagicSuggest entrées dans une page de mon projet et utilisé séparée document prêt des fonctions pour chaque initialisation des entrées. La première Entrée d'initialisation travaillé, mais pas la seconde et aussi de ne pas donner la moindre erreur, la Deuxième Entrée ne se présentent pas. Donc, je recommande toujours d'utiliser un Document de Prêt de la Fonction.
Vous pouvez même nid document prêt des fonctions à l'intérieur inclus des fichiers html. Voici un exemple d'utilisation de jquery:
Fichier: test_main.html
Fichier: test_embed.html
Sortie de la Console:
Navigateur affiche:
test_embed.html
Vous pouvez également le faire de la manière suivante: