在js和jquery使用中,常用到页面加载完成后执行某一方法。经过整理,大概是五种方式。javascript
1.jQuery的$( function(){} );html
2.jQuery的$(document).ready( function(){} );前二者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。java
3.jQuery的$(window).load( function(){} );jquery
4.window.onload = function(){}第3种和第4种都是等整个window加载完成执行方法体。二者也没有区别,只是一个使用dom对象,一个使用jQuery对象。dom
5.在标签上静态绑定onload事件,
等待body加载完成,就会执行executeAfterloadedBody()。spawindow.onload必须等到页面内包括图片的全部元素加载完毕后才能执行,$(document).ready()是DOM结构绘制完毕后就执行,没必要等到加载完毕
window.onload不能同时编写多个,若是有多个window.onload方法,只会执行一个,$( function(){} )/$(document).ready()能够同时编写多个,而且均可以获得执行
这五种方式,执行的前后顺序是:htm
1.$( function(){} );和 2.$(document).ready( function(){} );不管位置放置在哪里,老是优先其他三种方式(缘由是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这二者之间的执行顺序是谁在上方谁优先执行。对象
3.$(window).load(function(){});和4.window.onload = function(){}这两种方式,老是优先于
执行。他们二者执行顺序也是根据谁在上方谁先执行。blog5.
老是最后执行。事件window.onload = function(){
alert("window_html loaded====》onload");
}
$(window).load(function(){
alert("jquery===》window_html loaded" );
})
$(document).ready(function () {
alert("jquery====》document loaded");
});
$(function(){
alert("jquery====》document onload");
});
function executeAfterloadedBody(){
alert("====》onload");
}