有人可以向我解释一下。 这里的目标是通过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");
}
为什么只有Code C成功加载并执行脚本而另一个2没有。
相关的问题答案 0 :(得分:0)
部分答案:为什么代码B不起作用
在代码B中,您正在调用.load
,如下所示:
$('#content').load(toLoad,showNewContent());
基本上分为:
var newContent = showNewContent();
$('#content').load(toLoad,newContent);
所以你要调用showNewContent
并将结果传递给.load
。
这不是你想要做的。相反,您应该将函数本身(而不是其结果)传递给load
:
$('#content').load(toLoad,showNewContent);