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

faressoft picture faressoft · Jun 7, 2013 · Viewed 16k times · Source

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() ?

Answer

A. Wolff picture A. Wolff · Jun 7, 2013

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>