javascript - 文档更改时运行js?

标签 javascript jquery ajax settimeout

我尝试寻找答案,这是我的第一篇文章,所以如果我在某些方面搞砸了,请耐心等待。

基本上我的问题是这样的:我正在为使用 jQuery 的 Chrome 编写一个扩展。我有另一个扩展,每 10 秒发出一次定时 $.ajax() 请求。我需要找到一种方法来在每次定时 ajax 请求及其回调函数完成时运行我的代码。为我自己的脚本设置一个计时器是可以完成的,尽管这是相当半途而废的并且效果不佳。

问题可以这样说明:

//extension 1
function timedFunc() {
   setTimeout(doStuff, 10000);
};
timedFunc();

//extension 2
//code to be run every time doStuff completes

我觉得这个问题可能有一个非常基本的解决方案,但我很感谢您的帮助。

最佳答案

有一个名为 DOMSubtreeModified 的事件。 但它已被弃用,因此目前实际上只有可用的解决方法。

Why is the DOMSubtreeModified event deprecated in DOM level 3?

我无法建议使用此事件,因为它尚未在所有浏览器中实现。

但是您可以(轻松)做的只是通过所有 ajax 调用触发您自己的事件!

示例:

当(任何)ajax 调用完成时触发事件:

$(document).ajaxComplete(function() {
   $(document).trigger('domChanged');
}

并听一下:

$(document).on('domChanged',function() {
   alert("i changed the DOM tree!");
});

顺便说一句:

假设您只想对正在完成的 ajax 调用使用react...只需使用 .ajaxComplete() 事件:

http://api.jquery.com/ajaxComplete/

关于javascript - 文档更改时运行js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443253/

相关文章:

jquery - 谷歌浏览器中的 ReportViewer 问题

javascript - Arbor.js 查询

php - 重音字符破坏 PHP 中的 json_encode()

c# - MVC3 - 文件下载 - 等待状态指示器

javascript - 如何在jquery中同时访问整个数据表的一行

javascript - 为什么 Node js res.send 不起作用?

javascript - 使用 jQuery 从 PHP 关联数组中获取值

javascript - 如何从模态更新行每列的值?

jquery - Parsley v2.0.0-rc2 防止禁用字段验证

php - 如何在 Laravel 5 中对方法进行 Restful ajax 路由?