$(document).ready()是否在加载正文中的所有脚本文件后调用



$(document).ready()在正文中加载脚本js文件后是否调用?

如果我把$(document).ready()放在script元素的头部它接受一个回调函数使用在文件中声明的函数它的script元素加载在body中,像这样:

<!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>

这是一个正确的方法,这样做,并保证helloFuncDeclaration.js将在调用hello()函数之前加载?

可以使用window onload handler:

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

或者这样使用:

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

可以使用window.load

$(window).load(function(){
   hello();
})

load事件被发送到一个元素,当它和所有子元素都有我已经满载了。此事件可以发送到任何元素与URL相关的:图像、脚本、框架、iframe和窗口对象。

  • http://api.jquery.com/load-event/

$(document).ready()运行后,所有的资产加载,所以-是

最新更新