Skip to content

How to wait for the DOM ready event in plain JavaScript

New Course Coming Soon:

Get Really Good at Git

How to run JavaScript as soon as we can, but not sooner

You can do so by adding an event listener to the document object for the DOMContentLoaded event:

document.addEventListener('DOMContentLoaded', (event) => {
  //the event occurred

I usually don’t use arrow functions inside for the event callback, because we cannot access this.

In this case we don’t need so, because this is always document. In any other event listener I would just use a regular function:

document.addEventListener('DOMContentLoaded', function (event) {
  //the event occurred

for example if I’m adding the event listener inside a loop and I don’t really know what this will be when the event is triggered.

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching May 21, 2024. Join the waiting list!
→ Read my DOM Tutorial on The Valley of Code
→ Read my Browser Events Tutorial on The Valley of Code
→ Read my Browser APIs Tutorials on The Valley of Code

Here is how can I help you: