本文介绍jQuery中页面加载完成的三种执行方式:$(function)、$(document).ready和window.onload。重点对比了原生window.onload需等待所有资源加载完成,而jQuery方法仅等待DOM结构就绪即可执行脚本,从而提升页面响应速度。
jQuery页面加载执行的三种方式
第一种方式采用简写语法:
绑定ID为a的元素点击事件:
在此处添加具体业务逻辑代码
});
});
第二种方式明确指定文档就绪事件:
绑定ID为a的元素点击事件:
在此处添加具体业务逻辑代码
});
});
第三种方式使用原生JavaScript的onload事件:
绑定ID为a的元素点击事件:
在此处添加具体业务逻辑代码
});
}
对应的HTML代码为<input type="button" id="a">点击</input>,且页面需要引用jquery的js文件
原生window.onload与jQuery ready的区别
一般的加载页面时调用js方法如下:
window.onload = function() {
$("table tr:nth-child(even)").addClass("even"); //这个是jquery代码
};
这段代码会在整个页面的document全部加载完成以后执行。不幸的这种方式不仅要求页面的DOM tree全部加载完成,而且要求所有的外部图片和资源全部加载完成。更不幸的是,如果外部资源,例如图片需要很长时间来加载,那么这个js效果就会让用户感觉失效了。
但是用jquery的方法:
$(document).ready(function() {
// 任何需要执行的js特效
$("table tr:nth-child(even)").addClass("even");
});
就仅仅只需要加载所有的DOM结构,在浏览器把所有的HTML放入DOM tree之前就执行js效果。包括在加载外部图片和资源之前。
还有一种简写的方式:
$(function() {
// 任何需要执行的js特效
$("table tr:nth-child(even)").addClass("even");
});