监视浏览器控制台中的所有JavaScript事件

是否有可能听所有的JavaScript事件?

我试图猜测在DOM被AJAX请求修改后是否有事件触发。

使用萤火虫或网页检查器,您可以使用monitorEvents

 monitorEvents(myDomElem); 

这将打印由myDomElem发出的所有事件到控制台。 使用unmonitorEvents停止监视事件。

如果您有兴趣在操作DOM后获取事件,请查看突变事件 。

编辑

据我所知,有没有简单的方法来拦截所有XMLHttpRequest的所有onreadystatechange事件。 我能想到的唯一解决方法是用自己的实现来覆盖原生的XMLHttpRequest对象。 例如:

 (function() { // Overriding XMLHttpRequest var oldXHR = window.XMLHttpRequest; function newXHR() { var realXHR = new oldXHR(); realXHR.addEventListener("readystatechange", function() { console.log("an ajax request was made") }, false); return realXHR; } window.XMLHttpRequest = newXHR; })(); 

毋庸置疑,这是非常黑客和普遍不明智的。

如果你想要除了鼠标事件以外的所有东西,你可以inputunmonitorEvents(myDomElem, 'mouse')来回报Xavi对monitorEvents(myDomElem)的回答。

http://www.briangrinstead.com/blog/chrome-developer-tools-monitorevents关于使用铬监视器事件有一篇很好的文章。;