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