我有一个使用 ajax 调用来加载内容的应用程序。那些 ajax 调用只检索 HTML。Javascript 在另一个文件中。
完成 AJAX 调用后,我将调用一个应该尽快开始执行 javascript 的函数。
在这里,我留下一个小函数,它将从 ajax 调用中检索一些代码。
function loadPage(page) {
$(".container").html("");
if(page == "page1") {
$.ajax({
url: "/page1.php",
success: function(html){
$(".container").html(html);
loadPage1Script();
}
});
}else if(page == "page2"){
$.ajax({
url: "/page2.php",
success: function(html){
$(".container").html(html);
loadPage2Script();
}
});
}
}
之后,他们将执行 loadPage1Script() 或 loadPage2Script()。
function loadPage1Script(){
//Start the carousel plugin, for example
}
新代码已添加到 HTML 结构中。我应该打电话给 $(document).ready(); 在执行代码之前在 loadPage1Script() 中附加所有事件处理程序?如果我不这样做有什么不同吗?如果我添加 $(document).ready(); 脚本会更快启动吗??
function loadPage1Script(){
$(document).ready(function(){
//Start the carousel plugin, for example
});
}
取自 jquery 站点(http://api.jquery.com/ready/):
"在大多数情况下,脚本可以在 DOM 层次结构完全构建后立即运行。传递给 .ready() 的处理程序保证在 DOM 准备好后执行,因此这通常是附加所有内容的最佳位置其他事件处理程序并运行其他 jQuery 代码。 "