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

时间:2013-09-16 16:22:29

标签: debugging events firebug

我面临一个输入失去焦点的问题。问题是这样的:

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

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

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

    我尝试过Eventbug和FireQuery;但我无法找到导致此问题的代码。

1 个答案:

答案 0 :(得分:0)

您可以转到Firebug的脚本面板,然后将鼠标悬停在输入上,然后从键盘上单击 ALT CTRL B 激活“Break on next”,然后单击输入,它应该在输入的onclick处理程序中找到一个断点,然后你可以通过代码查找导致模糊的潜在调用(前提是你没有做任何攻击出于某种原因,在您的javascript中通过setInterval / setTimeout进行投票,或者您使用的框架没有;然后它可能会暂停在该代码中。

您可能还希望在页面的最开始执行一些代码来覆盖addEventListener方法,以便您劫持它:记录对它的任何调用,并将执行转发到原始函数;请参阅my presentation的幻灯片13-14(我在Greasemonkey中执行此操作,但此处不相关;只需确保在页面的最开头执行此操作)。