有没有办法拦截浏览器中的所有UI(触摸/点击等)事件(用于监控/调试等) - 在javascript代码和任何chrome工具中 - 一切顺利。作为一个例子,我想标记一些事件(通过添加一些属性)并在处理它(甚至不止一次)时捕获它以查看堆栈跟踪等
更新:即使未在代码中的某处传播(冒泡/捕获),也要查找每个事件的拦截
答案 0 :(得分:3)
您可以从Event
构造函数中获取事件类型列表。
Object.keys(Event).forEach(function (etype) {
document.addEventListener(
etype.toLowerCase(), console.log.bind(console), false
);
});
Event
interface公开的事件类型常量如下(在桌面Safari中):
["MOUSEOUT", "FOCUS", "CHANGE", "MOUSEMOVE",
"SELECT", "BLUR", "KEYUP", "MOUSEDOWN", "MOUSEDRAG",
"MOUSEUP", "MOUSEOVER", "CLICK", "DBLCLICK",
"KEYDOWN", "KEYPRESS", "DRAGDROP"]