jQuery中的load()方法快捷而又高效地實(shí)現(xiàn)了頁(yè)面片段的載入,但如果頁(yè)面片段里面包含一些需要加載的腳本,由于load()是異步執(zhí)行的,可能導(dǎo)致腳本無(wú)法正常執(zhí)行。
為了避免這種情況,可以使用load()的回調(diào)函數(shù),在頁(yè)面片段加載完成后再執(zhí)行需要的操作,如下所示:
$('#target').load('ajax/test.html', function() { alert('Load was performed.'); });
這個(gè)例子中,回調(diào)函數(shù)alert()在頁(yè)面片段ajax/test.html被完全載入后執(zhí)行。
除了回調(diào)函數(shù)以外,還可以使用.ready()方法來(lái)確保頁(yè)面片段中的腳本在載入后就可以立即被執(zhí)行,如下所示:
$('#target').load('ajax/test.html', function() { $('#other').ready(function() { // do something here }); });
這個(gè)例子中,#other是頁(yè)面片段ajax/test.html中的另一個(gè)元素,當(dāng)load()完成載入后,它的.ready()方法立即被執(zhí)行,保證需要的操作可以在正確的時(shí)間進(jìn)行,不會(huì)遇到任何問(wèn)題。