【发布时间】:2013-02-07 20:32:39
【问题描述】:
我有一个使用 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 代码的最佳位置。"
【问题讨论】:
标签: javascript jquery javascript-events