监视激发的Javascript事件(无论浏览器如何)
Monitoring fired Javascript events (regardless of browser)
我知道这个问题以前已经回答过了,但所有的答案都是指特定于浏览器的方法。我的问题很简单:有没有一种方法可以从Javascript中监控所有触发的事件(我需要的信息是触发的事件和触发它的元素)?
我曾想过为所有事件和元素设置事件侦听器,但这是非常不切实际的,而且它不适用于定制的事件。
有一些东西可以帮助您。
您可以使用Objects.observe来监控对象
对于某些dom元素,还有突变事件监听器和突变观测器。
但是,如果您确实需要监视所有事件,则可以重新定义addEvent函数。我想你只需要这个来调试和测试一些东西,否则这不是一个很好的做法。
// The magic
var oldAddEventListener = EventTarget.prototype.addEventListener;
EventTarget.prototype.addEventListener = function(eventName, eventHandler){
// DO YOUR MAGIC
oldAddEventListener.call(this, eventName, function(event) {
// DO YOUR MAGIC
eventHandler(event);
});
};
有关的更多信息https://css-tricks.com/capturing-all-events/
相关文章:
- 如何知道浏览器javascript的名称
- 跨浏览器javascript下载功能
- 如何避免在浏览器 JavaScript 中双击时(单击鼠标)处理
- 有没有办法从浏览器javascript打开Windows 10上的Microsoft地图
- 如何从应用程序的服务器端向浏览器 JavaScript 发送事件
- 浏览器Javascript - 任何了解用户当前IP的方法
- 如何强制浏览器/javascript 清除/忽略缓存文件
- 在浏览器 (javascript) 中将 Cognito 凭证与 AWS 配合使用时,不断收到“缺少凭证”错误
- 读取使用浏览器 Javascript 忽略的文件
- 如何在浏览器 JavaScript 中维护来自同一站点的不同页面加载的状态
- 跨浏览器JavaScript,用于从用户的选择中获取和替换确切的HTML
- 在关闭浏览器 javascript 时删除本地存储
- 如何在android浏览器javascript中捕获退格键代码
- 使用JavaScript启用和禁用浏览器JavaScript选项
- 浏览器Javascript:setTimeout和主程序
- 了解开发者控制台在当前浏览器(JavaScript)中是否处于活动状态
- 是否可以验证浏览器Javascript会话的完整性
- 我们可以期待一个浏览器javascript API到DNS解析程序
- node.js和浏览器javascript的配置相同
- 使用浏览器JavaScript SDK检查AWS S3上是否存在文件