What is the non-jQuery equivalent of $(document).ready()
?
9 s
This works perfectly, from ECMA. The snippet is all you need, but if you want to dig more and explore other options check this detailed explanation.
document.addEventListener("DOMContentLoaded", function() {
// code...
});
The window.onload
doesn’t equal to JQuery $(document).ready
because $(document).ready
waits only to the DOM tree while window.onload
check all elements including external assets and images.
EDIT: Added IE8 and older equivalent, thanks to Jan Derk’s observation. You may read the source of this code on MDN:
// alternative to DOMContentLoaded
document.onreadystatechange = function () {
if (document.readyState == "interactive") {
// Initialize your application or run some code.
}
}
There are other options apart from "interactive"
. See the MDN docs for details.