【发布时间】:2011-12-21 12:04:29
【问题描述】:
在被某些浏览器事件(单击、焦点、?)触发后,我需要以编程方式(在 javascript 中)执行一些在第三方组件中发生的事情。我不知道事件类型、事件绑定的元素或正确的参数。
-尝试在子树修改上设置 Chrome 断点,但没有任何效果。
- 尝试检查 jQuery 事件,但 data('events') 没有发现任何有用的信息 - 它们一定是使用 DOM 事件。
难道不应该有某种方式在浏览器中记录/捕获/记录所有事件,然后检查它们(甚至回放它们)吗?这似乎是找出我想知道的唯一方法。
【问题讨论】:
-
您知道您可以在 chrome 中看到事件调用的函数,只需在检查器中选择元素并检查样式下方右侧显示 Event Listenes 的选项卡
-
是的-我检查了,没有基于用户操作的事件处理程序,例如单击、聚焦。只加载。似乎是一个不错的功能,但在这种情况下没有太大帮助。
-
能在第三方代码执行之前先执行代码吗?
-
是的,我可以。 75% 的第三方组件在 iframe 中加载,因此我可以在其他 dom 元素更早完全加载时触发一些代码。
-
@skeej:你能编辑 iframe 的页面吗?如果是这样,您可以覆盖
Element.prototype.addEventListener之类的函数来拦截添加的侦听器。
标签: javascript jquery firefox dom google-chrome