监视浏览器控制台中的所有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关于使用铬监视器事件有一篇很好的文章。;