Il se déclenche après le chargement complet du document, l'initialisation de l'arbre DOM, l'application de tous les styles CSS et l'exécution de tout le Javascript. Il diffère de la méthode load
en ce sens que les éléments (autres que CSS/JS) qui chargent leur contenu à partir d'autres URL, comme les images ou les fichiers flash, n'ont pas nécessairement fini de se charger à ce stade. Cet événement est généralement appelé "domready" ou "domloaded". Certains navigateurs modernes le prennent en charge directement (par exemple, Firefox dispose d'un événement DomContentLoaded), tandis que d'autres peuvent le simuler à l'aide de diverses astuces, comme l'utilisation de l'attribut defer
ou en plaçant un script à la toute fin du corps.
L'avantage est que vous pouvez interagir de manière fiable avec le document à ce moment-là ; par exemple, vous pouvez définir un gestionnaire d'événement sur un élément avec un certain ID et être sûr qu'il existe déjà dans l'arbre DOM. D'autre part, il peut s'exécuter considérablement plus tôt que l'événement de chargement, si une ressource externe est lente à charger. Si votre script se trouve à la fin de votre code HTML, il peut y avoir peu de différence entre l'utilisation ou non de l'événement domready, mais en général les scripts sont appelés à partir de l'élément head
et à ce stade, aucun élément du corps n'est encore disponible.