jQuery的load方法是一個非常方便的異步加載HTML文件的方法,然而卻有一個很麻煩的問題,那就是它默認是不執(zhí)行HTML文件中的JavaScript腳本的。下面我們就來一起深入探究一下這個問題。
$(document).ready(function(){
$("#myDiv").load("test.html");
});
以上代碼是jQuery中使用load方法的常見方式,其中test.html是待異步加載的HTML文件。但是,在test.html中如果有JavaScript代碼,是不會被執(zhí)行的。原因是load方法默認是將加載進來的HTML文件中的JavaScript代碼剔除掉。
不過,jQuery提供了一種讓加載進來的HTML文件中的JavaScript代碼執(zhí)行的方式??梢酝ㄟ^在load方法中設(shè)置回調(diào)函數(shù)來實現(xiàn)它,代碼如下:
$(document).ready(function(){
$("#myDiv").load("test.html", function(){
alert("Load was performed.");
});
});
這樣,在test.html中的JavaScript代碼就能被執(zhí)行了。
總結(jié)一下,通過設(shè)置回調(diào)函數(shù)來實現(xiàn)加載HTML文件中JavaScript代碼的執(zhí)行是一種比較簡單易行的方式。期望今后jQuery能夠在默認情況下支持執(zhí)行HTML文件中的JavaScript代碼。