【问题标题】:Executing code after a process is done - jQuery流程完成后执行代码 - jQuery
【发布时间】:2011-08-17 05:35:11
【问题描述】:
我想跑步:
$(".left").load("created.php");
之后:
$("#placeholder").load("create.php")
我尝试了以下方法,但没有成功:
$("#create").live("click", function() {
if($("#placeholder").load("create.php")) {
$(".left").load("created.php");
}
})
【问题讨论】:
标签:
jquery
function
load
click
live
【解决方案1】:
jQuery load() 函数异步运行。您需要使用回调函数在第一次加载完成后运行代码。
下面的代码就足够了:
$("#create").live("click", function() {
$("#placeholder").load("create.php", function() {
$(".left").load("created.php");
});
});
享受吧!
【解决方案2】:
在第一次加载的回调中调用created.php
$("#placeholder").load("create.php",null,function(){
$(".left").load("created.php");
});
jquery load
【解决方案3】:
在前面load的成功处理程序中执行
$("#placeholder").load("create.php", function(){
$(".left").load("created.php");
});
【解决方案4】:
if($("#placeholder").load("create.php"))
这行意味着加载 create.php 然后返回一个 jqxhr 对象,这不是你的意思。
使用 load 方法的回调: $("#placeholder").load("create.php", function(data){...})
要么
改用 $.when 和 .then