在.load()之后按下Ajax函数

时间:2011-08-07 16:52:41

标签: jquery ajax events load reload

我在div'check_div'中有一个带有'check_button'类的按钮。我有一个Jquery代码,如果用户单击该按钮,脚本会向服务器发送Ajax请求。之后他用.load()重新加载div,所以他也重新加载按钮。问题是然后Jquery代码不适用于按钮。我读了其他Stackoverflow文章,但我是Ajax和Jquery的新手,所以我不知道如何解决我的问题。链接我发现同样的问题(我认为):Manipulating elements after AJAX load()

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你会对服务器进行两次调用:

  1. AJAX致电
  2. 负载
  3. 为什么不在1次通话中这样做?

      $.ajax({
        url: theurl,
        type: 'POST',
        data: {},
        dataType: 'json',
        error: function(req, resulttype, exc)
        {
          // error handling
        },
        success: function(data)
        {
          $('.check_div').html(data.html);
        }
      });
    

    在您对服务器的回复中,无论您想要发送回客户端,都可以对json进行编码。

    关于你的问题:

    此外,所有动态添加的元素都可以用于:

    $(element).live('click', function() { });
    

    .delegate()甚至更好:     $(container).delegate('。check_div','click',function(){     });

    代替:

    $(element).click(function() { });
    

    有关详细信息,请查看:

    http://api.jquery.com/jQuery.ajax/

    http://api.jquery.com/delegate/

    http://api.jquery.com/live/