Depends on what you want to do.
- jQuery ready will run your code when the HTML is all ready, but before images and other resources have finished. This is the earliest possible time that you can change the DOM with JavaScript, so it's widely used. (In modern browsers it's replaced by the native event
DOMContentLoaded
). window.onload
(theload
event) runs after everything has finished loading. Images, Flash, and some scripts, but usually not stylesheets. Use this for code that should run only when the page won't change any more.
Also, with window.onload
you can only attach one listener, but you can attach as many as you want with jQuery ready. To attach more than one event on window.onload
, use addEventListener
:
window.addEventListener('load', function () {
}, false);