我们知道JS代码常写在head标签内引入,这时HTML元素还未加载完成就执行代码,容易出现报错。原生JS提供load事件解决该问题,在HTML加载完毕后再执行代码。例如JS需要操作某个div,如果代码写在head中,head会优先于body加载,此时div还没渲染,就会报错,所以可把相关代码放到load事件里。jQuery也提供了对应的方案。
window.onload = function(){}; // JavaScript等待加载后执行,必须等网页全部内容(图片、CSS等)加载完成
$(document).ready(function(){}); // jQuery等待加载后执行,仅等待DOM结构加载完成
Code language: JavaScript (javascript)
二者区别:window.onload要等待全部资源加载完毕;$(document).ready()DOM加载完成即可执行。 $(document).ready(function(){})还可以缩写成 $(function(){})。实际开发一般不使用window.onload;网速较慢时,图片加载延迟,页面JS交互会处于假死状态。
$(function () {
//dom加载完后执行
alert('www.foxdevelop.com Foxdevelop');
});
Code language: JavaScript (javascript)
Previous: jQuery的代码风格
Next: jQuery对象的问题