如何使用Firebug(或类似的东西)检查事件流



我遇到了输入失去焦点的问题。问题是这样的:

  1. 我发送一个 AJAX 请求来加载表单,加载后我会以模态显示它。

  2. 现在,如果我单击任何输入,它会立即获得焦点并模糊,因此我需要再次单击它(这次它保持焦点)。

我需要一种在Firebug控制台(或一些类似工具)中跟踪事件流和调度的工具,以便我可以检测这种奇怪行为的罪魁祸首并修复它。

我已经尝试了Eventbug和FireQuery;但我无法找到导致这种情况的代码。

您可以转到Firebug的脚本面板,然后将鼠标悬停在输入上,然后单击键盘上的ALTCTRL B以激活"下一个中断",然后单击输入,它应该在输入的onclick处理程序中遇到断点,然后您可以浏览代码以查找导致模糊的潜在调用(前提是您没有通过javascript中的setInterval/setTimeout进行任何积极的轮询出于某种原因,或者您使用的框架没有;然后它可能会在该代码中暂停)。

您可能还想在页面的最开头执行一些代码来覆盖 addEventListener 方法,以便劫持它:记录对它的任何调用,并将执行转发到原始函数;请参阅我的演示文稿的幻灯片 13-14(我在 Greasemonkey 中这样做,但在这里无关紧要;只需确保在页面开头执行

)。

最新更新