I see this issue all the time and perhaps even more worryingly I see the use of setTimeout() in places to defer listeners.
If you don’t need to wait for images/scripts to load use:
(function ($) {
$(document).ready(function () {
//Code here
});
})(jQuery);
If you need to wait for media to load, use this:
(function ($) {
$(window).load(function () {
//Code here
});
})(jQuery);
Simple as that!
