javascriptjquerydomdocument-readyready

Is $(document).ready() called after loading all script files in the body?


Is $(document).ready() called after loading script js files in the body ?

If I put $(document).ready() in the head in script element which take a callback function that using a functions declared in a file which its script element loaded in the body like that :

<!DOCTYPE HTML>
<html>
<script src="jquery.js" type="text/javascript"></script>
<script>
$(function(){
hello();
})
</script>
<head>
</head>
<body>

<script src="http://somewhere/helloFuncDeclaration.js" type="text/javascript"></script>

</body>
</html>

Is it a right way to do that and guarantee that the helloFuncDeclaration.js will be loaded before calling the function hello() ?


Solution

  • To be sure, use window onload handler:

    $(window).on('load', hello);
    

    Or use it like this:

    <script onload="hello()" src="http://somewhere/helloFuncDeclaration.js" type="text/javascript"></script>