[英]calling getScript inside an ajax load callback function
有人可以向我解釋一下。 這里的目標是通過ajax調用加載外部html,然后加載並執行與該html代碼關聯的外部腳本。
代碼A:
$('#content').load(toLoad,function(){
$.getScript("toLoadScript.js");
});
代碼B:
$('#content').load(toLoad,showNewContent());
function showNewContent() {
$.getScript("toLoadScript.js");
}
代碼C:
$('#content').load(toLoad,showNewContent);
function showNewContent() {
$.getScript("toLoadScript.js");
}
為什么只有代碼C成功加載並執行腳本,而其他兩個卻沒有成功。
有關的問題: jQuery:在ajax load()之后運行腳本
部分答案: 為什么代碼B不起作用
在代碼B中,您按以下方式調用.load
:
$('#content').load(toLoad,showNewContent());
本質上分為:
var newContent = showNewContent();
$('#content').load(toLoad,newContent);
所以你調用showNewContent
和傳球的處理結果放入.load
。
這不是您想要的。 相反,您應該將函數本身(而不是其結果)傳遞給load
:
$('#content').load(toLoad,showNewContent);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.