我有一个页面,可以在其中插入一些 javascript/jquery 来操作输出。我对页面标记等没有任何其他控制。
我需要在页面上的每个元素之后通过 jquery 添加一个额外的元素。问题是元素是通过 $(document).ready 完成后发生的现有页面上的异步调用生成的。
本质上,我需要一种在页面加载并且后续 ajax 调用完成后调用 jquery 的方法。有没有办法检测页面上任何 ajax 调用的完成情况,然后调用我自己的自定义函数在新创建的 s 之后插入附加元素?
最佳答案
不幸的是这并不适用,因为OP似乎没有使用 $.ajax()
或任何用于实际加载内容的 jQuery ajax 方法,但将其留在这里,以防将来的 Google 员工这样做。
您可以使用any of the global ajax events that meet your needs here ,您可能正在寻找 $.ajaxComplete()
或$.ajaxSuccess()
.
例如:
$(document).ajaxSuccess(function() {
alert("An individual AJAX call has completed successfully");
});
//or...
$(document).ajaxComplete(function() {
alert("ALL current AJAX calls have completed");
});
如果您只想运行一些通用函数,请将它们附加到文档(它们只是下面的事件)。如果您想显示特定的内容,例如模式或消息,您可以使用它们更简洁一些(尽管这似乎不是您想要的),如下所示:
$("#myModal").ajaxComplete(function() {
$(this).fadeIn().delay(1000).fadeOut();
});
关于jquery - 如何使用 jQuery 检测 'any' ajax 请求是否完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912057/