是否可以监听所有的javascript事件?
我试图猜测 AJAX 请求修改 DOM 后是否会触发事件。
With firebug http://getfirebug.com/wiki/index.php/Command_Line_API#monitorEvents.28object.5B.2C_types.5D.29 or 网络检查员 http://developer.apple.com/library/safari/#documentation/appleapplications/Conceptual/Safari_Developer_Guide/DebuggingYourWebsite/DebuggingYourWebsite.html您可以使用monitorEvents
:
monitorEvents(myDomElem);
这会打印由myDomElem
到控制台。使用unmonitorEvents
停止监视事件。
如果您有兴趣在操作 DOM 后获取事件,请查看突变事件 http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents.
Edit:
据我所知,没有简单的方法可以拦截所有onreadystatechange
来自所有 XMLHttpRequest 的事件。我能想到的唯一解决方法是用您自己的实现覆盖本机 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;
})();
不用说,这是非常老套的,而且通常是不明智的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)