Skip to content Skip to sidebar Skip to footer

Jquery Equivalent Of Body Onload

Is it allowed to use along with jQuery's document.ready() handlers? I can't find a way to achieve the same functionality of the w

Solution 1:

$(window).load(myfunc) is what you're looking for. If you're working with the load event of an iframe, you can replace window with the iframe element/selector.

Solution 2:

This works as well:

$(window).load(function(){
    // ..myfunc();
    // ..
});

Solution 3:

From the jQuery API on the ready handler:

The .ready() method is generally incompatible with the <body onload=""> attribute. If load must be used, either do not use .ready() or use jQuery's .load() method to attach load event handlers to the window or to more specific items, like images.

Solution 4:

.load(),.unload() or .error() are deprecated since jQuery 1.8. Lookup for these aliases in your code and replace them with the .on() method instead

$(window).on('load', function(){...})

Solution 5:

Found this thread updating some old code that had <body onload="someFunc()"> so to give an updated answer:

Don't use load(). While $(document).ready(function(){...}); should work (depending on your use case) you actually want: $(window).on('load', function(){...}); to more closely mimic <body onload="...">

Some threads suggest this has been deprecated since jQuery 1.8 (as well as .unload() and .error()) and should be replaced with proper .on() implementations. I've confirmed that using load() on 3.3.1 results in an error, namely: indexOf is not a function in jquery.min.js

Documentation For jQuery's onEvent Handler

Post a Comment for "Jquery Equivalent Of Body Onload"