263 votes

Différence entre les fonctions $(window).load() et $(document).ready()

Quelle est la différence entre $(window).load(function() {}) y $(document).ready(function() {}) dans jQuery ?

7 votes

Notez que dans jQuey 3.x, il n'y a pas d'outil de contrôle de la qualité. $(window).load() . Utilisez $(window).on('load', function(){}); à la place.

300voto

Nick Craver Points 313913
  • document.ready est un événement jQuery, il s'exécute lorsque le DOM est prêt, c'est-à-dire lorsque tous les éléments du DOM sont prêts. éléments sont là pour être trouvées/utilisées, mais pas nécessairement toutes contenu .
  • window.onload se déclenche plus tard (ou en même temps dans le pire des cas) lorsque images et autres sont chargées, donc si vous utilisez les dimensions d'une image par exemple, vous voudrez souvent utiliser ceci à la place.

47 votes

Un raccourci pour $(document).ready(function(){}) est $(function(){}) et une autre différence importante par rapport à window.load est qu'il s'exécutera sur TOUS les appels futurs de la fonction, même après le DOMready initial.

0 votes

Devons-nous en déduire que onload est la même chose que load ?

3 votes

@dbliss Oui, je crois que onload est un raccourci pour $(window).on('load') . Tous deux font référence à la charge événement.

86voto

Sagar Panchal Points 1535
$(document).ready(function() {
 // executes when HTML-Document is loaded and DOM is ready
 alert("document is ready");
});

$(window).load(function() {
 // executes when complete page is fully loaded, including all frames, objects and images
 alert("window is loaded");
});

51voto

Kean Amaral Points 3217

El $(window).load() n'est PAS disponible dans jQuery 3.0

$( window ).load(function() {
        // Handler for .load() called.
});

Pour contourner ce problème, vous pouvez l'utiliser comme un "accessoire de gestionnaire d'événements".

$( window ).on("load", function() {
        // Handler for .load() called.
});

20voto

Bharat Chodvadiya Points 637

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() est déclenché après le chargement de tout le contenu.

10voto

Shaik Rasool Points 46
<html>
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
    $( document ).ready(function() {
        alert( "document loaded" );
    });

    $( window ).load(function() {
        alert( "window loaded" );
    });
    </script>
</head>
<body>
    <iframe src="http://stackoverflow.com"></iframe>
</body>
</html>

window.load sera déclenché après le chargement de tout le contenu de l'iframe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X