第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js onreadystatechange 和 onload區(qū)別

js onreadystatechange 和 onload區(qū)別

哆啦的時光機 2019-05-25 14:15:14
js onreadystatechange 和 onload區(qū)別
查看完整描述

2 回答

?
aluckdog

TA貢獻1847條經(jīng)驗 獲得超7個贊

在Jquery里面,我們可以看到兩種寫法:$(function(){}) 和$(document).ready(function(){})
這兩個方法的效果都是一樣的,都是在dom文檔樹加載完之后執(zhí)行一個函數(shù)(注意,這里面的文檔樹加載完不代表全部文件加載完)。
而window.onload是在dom文檔樹加載完和所有文件加載完之后執(zhí)行一個函數(shù)。也就是說$(document).ready要比window.onload先執(zhí)行。
那么Jquery里面$(document).ready函數(shù)的內(nèi)部是怎么實現(xiàn)的呢?下面我們就來看看:
我們來為document添加一個ready函數(shù):

document.ready = function (callback) {
///兼容FF,Google
if (document.addEventListener) {
document.addEventListener('DOMContentLoaded', function () {
document.removeEventListener('DOMContentLoaded', arguments.callee, false);
callback();
}, false)
}
//兼容IE
else if (document.attachEvent) {
document.attachEvent('onreadytstatechange', function () {
if (document.readyState == "complete") {
document.detachEvent("onreadystatechange", arguments.callee);
callback();
}
})
}
else if (document.lastChild == document.body) {
callback();
}
}

document.ready這個函數(shù)是實現(xiàn)了。我們再來驗證一下最上面所說的“ready要比onload先執(zhí)行”:

window.onload = function () {
alert('onload');

};

document.ready(function () {
alert('ready');

});

執(zhí)行這段代碼之后,你會看到瀏覽器里面會先彈出“ready”,在彈出onload。




查看完整回答
反對 回復(fù) 2019-05-26
  • 2 回答
  • 0 關(guān)注
  • 475 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號