Quelle est la différence entre $(window).load(function() {})
et $(document).ready(function() {})
dans jQuery?
216
document.ready
est un événement jQuery, il s'exécute lorsque le DOM est prêt, par exemple tous les éléments doivent être trouvés / utilisés, mais pas nécessairement tout le contenu .window.onload
se déclenche plus tard (ou en même temps dans les pires / échecs) lorsque les images et autres sont chargées, donc si vous utilisez des dimensions d'image par exemple, vous souhaiterez souvent l'utiliser à la place.
$(document).ready(function(){})
is$(function(){})
et une autre différence importante par rapport à window.load est qu'il s'exécutera sur TOUS les futurs appels de la fonction, même après le DOMready initial.$(window).on('load')
. Les deux référençant l' événement de chargement .it will run on ALL future calls of the function
?$(document).ready
code une fois que le DOM est prêt. C'est un si petit cas d'utilisation qu'il ne valait probablement pas la peine de confondre tout le monde avec le mentionner. 2) L'ENVIRONNEMENT n'appelle$(document).ready(function(){})
qu'une seule fois, lorsque le DOM est prêt. Si l'utilisateur, pour une raison quelconque, exécute davantage une$(document).ready
fois que le DOM est prêt, alors oui, il sera exécuté immédiatement.la source
Le
$(window).load()
n'est PAS disponible dans jQuery 3.0Pour le contourner, vous pouvez l'utiliser comme une "pièce jointe de gestionnaire d'événements"
la source
Les différences sont:
$(document).ready(function() {
est un événement jQuery qui est déclenché lorsque le DOM est chargé, il est donc déclenché lorsque la structure du document est prête.$(window).load()
l'événement est déclenché après le chargement de tout le contenu.la source
window.load sera déclenché après le chargement de tout le contenu iframe
la source
$(document).ready
se produit lorsque tous les éléments sont présents dans le DOM, mais pas nécessairement tout le contenu.window.onload
ou$(window).load()
se produit après que toutes les ressources de contenu (images, etc.) ont été chargées.la source
De jquery prospective - il suffit d'ajouter
load
/onload
événement à la fenêtre et au document. Regarde ça:window.onload vs document.onload
la source
document.ready (jQuery) document.ready s'exécutera juste après que le document HTML est chargé, et que le DOM soit prêt.
DOM: Le modèle d'objet de document (DOM) est une convention multiplateforme et indépendante du langage pour représenter et interagir avec des objets dans des documents HTML, XHTML et XML.
window.load (JavaScript intégré) Le window.load attendra cependant que la page soit entièrement chargée, cela inclut les cadres internes, les images, etc. * window.load est une méthode JavaScript intégrée, il est connu pour en avoir bizarreries dans les anciens navigateurs (IE6, IE8, anciennes versions FF et Opera) mais fonctionnent généralement dans chacun d'eux.
window.load peut être utilisé dans l'événement onload du corps comme ceci (mais je vous suggère fortement d'éviter de mélanger du code comme celui-ci dans le HTML, car c'est une source de confusion plus tard):
la source
la source
Je pense que l'
$(window).load
événement n'est pas pris en charge par JQuery 3.xla source
Selon les événements DOM niveau 2, l'
load
événement est censé se déclencherdocument
, et non paswindow
. Cependant,load
est implémentéwindow
dans tous les navigateurs pour une compatibilité ascendante.la source