🗃 This article is a part of the JavaScript Basics series.
Here is a straightforward way to catch document loading. It's supported by modern browsers. You can use it as an alternative to jQuery $.ready.
function domReady(cb) {
if (document.readyState === "complete" || document.readyState === "interactive") {
cb();
} else {
document.addEventListener("DOMContentLoaded", cb);
}
}
domReady(() => {
console.log("DOM: I'm ready");
});
function domReady(cb: Function): void {
if (document.readyState === "complete" || document.readyState === "interactive") {
cb();
} else {
document.addEventListener("DOMContentLoaded", (event: Event) => {
cb();
});
}
}