Croix-navigateur compatible façon de lier les événements au chargement de la page
À l'aide de jQuery
, je peux utiliser la fonction suivante pour exécuter du code dès que le DOM
a chargé:
$(function() {
//do stuff here
});
Ou, de manière équivalente:
$(document).ready(function() {
//do stuff here
});
En essayant d'obtenir une meilleure compréhension de raw javascript, j'utilise ce code pour obtenir un effet similaire:
window.onload = function() {
//do stuff here
}
Cette méthode est compatible avec tous les navigateurs? Sont-il de meilleures façons de réaliser cette fonctionnalité?
jQuery permet de résoudre le "cross-browser" et est "la meilleure façon d'obtenir cette fonctionnalité".
Double de stackoverflow.com/questions/3474037/...
Double de stackoverflow.com/questions/3474037/...
OriginalL'auteur aligray | 2011-06-15
Vous devez vous connecter pour publier un commentaire.
Ceci est similaire à ce que fait JQuery:
Et de l'utiliser:
OriginalL'auteur Will
La fenêtre de la méthode onload est compatible avec tous les navigateurs, mais il y a une meilleure alternative.
Donc, disons que vous avez beaucoup d'images (ou un GROS) sur votre page. Le fichier html sera fini de télécharger et d'être prêt pour la manipulation avant que les images sont en fait le téléchargement. Si jQuery est prêt tournages et vous pouvez commencer à faire de grands JavaScript, des trucs pendant que toutes ces jolies photos à télécharger.
C'est une des raisons pour lesquelles c'est une bonne idée d'utiliser une bibliothèque js.
Quand il n'y a pas que de nombreuses images, alors la différence est négligeable. Cependant, vous pouvez uniquement définir UNE méthode à la fois sur l'événement onload. Vous pouvez, cependant, l'ensemble de jQuery prêt événement plusieurs fois et à chaque méthode sera appelée de façon séquentielle.
OriginalL'auteur Abishai Gray
De la croix-compatibilité avec les navigateurs doivent dépendre de la façon dont vous définissez le terme "navigateur". Comme par exemple si c'est un texte basé sur navigateur, alors il pourrait ne pas être ce que vous cherchez.
Pour répondre à votre question, il sera compatible avec tous les navigateurs si le navigateur de bons de souscription de la fenêtre.onload fonctionnalité.
Comme un guide général, nous avons l'habitude de recourir à des bibliothèques qui sont testés afin que nous autoriser les bibliothèques à prendre soin de ces "cross-browser" de la compatibilité et de nous traiter avec la logique d'application.
Espère que cela aide!
JS
correctement parce que j'ai commencé à apprendre avecjQuery
!Je salue vos efforts. Je souhaite à tout le monde avait le désir. Cependant, il y a tellement de choses qu'on ne peut le faire facilement avec la matière première JavaScript, que vous pouvez le faire simplement avec jQuery. En d'autres termes, je ne pense pas que c'est "l'un ou l'autre". Je crois que vous pouvez apprendre les bonnes JavaScript while la mise en œuvre de votre jQuery. Tout ce que vous n'avez plus besoin parce que jQuery n'est-il mieux, eh bien, vous n'en avez plus besoin. Puis de nouveau, j'ai appris le JavaScript de plus de 10 ans.
Si vous voulez apprendre le JS de la "bonne" façon dont je recommande la lecture de Douglas Crockford du livre JavaScript: Les Bonnes Pièces et Stoyan Stefanov du livre Orientée Objet en JavaScript: Créer évolutive, réutilisables de haute qualité JavaScript, des applications et des bibliothèques tous les deux sont excellents. Si vous êtes intéressé par ce type de bibliothèque niveau stuff, John Resig les Secrets de l'JavaScript Ninja serait une excellente ressource... si jamais ils enfin le publier (il était initialement prévu pour l'Automne 2008 lorsque je l'ai pré-commandé).
Code Merci, je vais vraiment regarder dans.
OriginalL'auteur Vern