我有一个问题,我们如何能够找出哪些元素在DOM上的现有元素中通过事件管理器'具有附加功能。我知道这根本不容易,我知道我可以使用Visual Event进行检查。 但是,我想知道浏览器如何更有趣,Visual Event如何检测到它?
我们假设我们要加载一个网页并从DOM中提取所有可点击的元素。我们怎么可能确定某些现有元素不会改变DOM的状态?
例如,如果我们对这些元素一无所知,我们就需要尝试点击P标签,因为可能会附加一些功能。但是,如果我们可以确定这个特定元素在点击之后是否会做任何事情,那么如果它不会做任何事情,我们就可以忽略它。
我们可以通过直接的方式做一些视觉事件正在做的事情吗?
答案 0 :(得分:2)
没有支持此功能的内置功能。
我所知道的最好的方法是使用您自己的方法覆盖addEventListener
上的Element.prototype
方法,该方法记录DOM节点上事件侦听器的添加/删除。然后,您可以公开一个函数来枚举它们。
此修改当然需要在应用程序中的相关事件监听器活动之前运行。
请参阅How to find event listeners on a DOM node when debugging or from the JavaScript code?
请注意,Chrome已通过getEventListeners
和开发工具中的专用用户界面支持此功能。