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

2023-11-23

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

我所有的 JavaScript 都在普通的 document.ready 中,这对于普通的 HTTP 加载页面来说工作得很好:

$(document).ready(function(){
  // my apps javascript
});

我想使用 .ajaxComplete 之类的东西来重新运行 document.ready 中包含的所有内容,以评估 jquery 选择器新加载的 AJAX 内容。

$(document).ajaxComplete(function(){
  // Re-run all my apps javascript
})

我可以在 .ajaxComplete 中放入一些代码来执行此操作吗?

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


你可以将所有内容封装在你的document.ready进入一个函数,只需再次调用该函数即可重新绑定

or...

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

示例使用live(): http://api.jquery.com/live/

$('.clickme').live('click', function() {
    //all elements that exist now and elements added later
    //with this class have this click event attached
});

示例使用delegate(): http://api.jquery.com/delegate/

$("table").delegate("td", "hover", function(){
    //all current and future td elements in all current tables
    //have this hover event attached
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐