在AJAX加载的内容上运行JQuery脚本

时间:2010-11-19 15:13:21

标签: jquery ajax

我正在使用.load()将静态HTML文件拖到我的主HTML页面上。我写的脚本和选择器存在于:

$(document).ready(function(){});

但它们不适用于加载AJAX的内容。我已经读过这是因为我使用的选择器不可用。

有更好的方法吗?将脚本添加到window.load函数也不起作用:

$(window).load(function() {});

4 个答案:

答案 0 :(得分:65)

$(document).ajaxComplete(function(){
    // fire when any Ajax requests complete
})

ajaxComplete()

答案 1 :(得分:3)

有多个选项:

  1. 您可以将初始化脚本[$(this).click...]添加到callback
  2. $.load()函数中
  3. 您可以使用$.live(),即使对于动态加载/创建的对象,也会创建处理程序。
  4. 更多
    回调:http://api.jquery.com/load/(注意“complete()”功能)
    bind:http://api.jquery.com/live/

    修改:我的错误是live(),而不是bind(),谢谢你们

答案 2 :(得分:1)

您可以通过jQuery的$.live()将事件绑定到动态加载的内容。

来自jQuery http://api.jquery.com/live/

  

为现在和将来与当前选择器匹配的所有元素附加事件的处理程序。

答案 3 :(得分:0)

jQuery load采用可选的回调函数参数,您可以使用该参数进行加载ajax-ed内容后所需的任何设置