在ajax加载的内容上重新运行应用程序Javascript

在ajax加载的内容上重新运行应用程序Javascript,javascript,jquery,Javascript,Jquery,我希望我的应用程序中所有AJAX加载的内容都由我的应用程序JQuery脚本进行评估,与正常加载的内容相同。e、 g.JQuery通过AJAX加载的内容扫描选择器,如“模式框链接”等 我所有的JavaScript都在normal document.ready中,对于正常的HTTP加载页面,它可以正常工作: $(document).ready(function(){ // my apps javascript }); 我想使用.ajaxComplete之类的工具重新运行document.rea

我希望我的应用程序中所有AJAX加载的内容都由我的应用程序JQuery脚本进行评估,与正常加载的内容相同。e、 g.JQuery通过AJAX加载的内容扫描选择器,如“模式框链接”等

我所有的JavaScript都在normal document.ready中,对于正常的HTTP加载页面,它可以正常工作:

$(document).ready(function(){
  // my apps javascript
});
我想使用.ajaxComplete之类的工具重新运行document.ready中包含的所有内容,以便为jquery选择器评估新加载的AJAX内容

$(document).ajaxComplete(function(){
  // Re-run all my apps javascript
})
是否有一些代码可以输入。ajaxComplete来完成此操作


希望这是有意义的,如果没有,请告诉我,我将编辑问题的详细信息。

您可以将
文档中的所有内容封装。准备好
到函数中,然后再次调用该函数重新绑定

或者

更好的方法是利用
live()
delegate()
jQuery方法,这样匹配这些选择器的所有当前和未来元素也将绑定到这些事件

使用
live()
的示例:

使用
delegate()
的示例:


您需要做的是在函数中定义代码,而不是匿名定义代码。匿名函数是不可重用的,但是如果您编写了一个函数,那么该函数可以绑定到多个事件。

您能解释一下您要查找的内容吗?我觉得我的答案仍然漏掉了一些东西,我想确保你能找到你想要的答案。@jmort253-谢谢你的帮助,hunter的答案和我想理解的差不多。从jQuery 1.7开始,.live()方法已被弃用。使用.on()附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate(),而不是.live()。
$('.clickme').live('click', function() {
    //all elements that exist now and elements added later
    //with this class have this click event attached
});
$("table").delegate("td", "hover", function(){
    //all current and future td elements in all current tables
    //have this hover event attached
});