【问题标题】: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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-02-08
            • 2014-10-27
            • 2022-01-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-04-10
            • 2017-11-25
            相关资源
            最近更新 更多