【问题标题】:How can I know a button's event handler in a html page? [duplicate]如何知道 html 页面中按钮的事件处理程序? [复制]
【发布时间】:2011-10-09 22:15:38
【问题描述】:

可能重复:
How to debug Javascript/jQuery event bindings with FireBug (or similar tool)
How to inspect an element's associated event handlers?

有时,我使用firebug检查页面中的按钮,我发现没有onclick功能。但实际上它确实有一个事件处理程序。我认为它使用“绑定”方法来附加事件处理程序。

现在,我的问题是如何使用一些工具,并且可以轻松找到事件处理程序?

【问题讨论】:

  • 如果我使用jquery真的很好,但是我使用ext-js,我仍然不知道如何跟踪我的按钮的事件处理程序。我尝试使用 document.getElementById("ext-gen41").onclick,但结果未定义。
  • 他们本可以将事件处理程序放在 body 元素中,然后手动检查“event.target”以查看单击了哪个元素,这些处理程序真的很难找到(不知道为什么会被标记作为副本)

标签: javascript firebug


【解决方案1】:

在谷歌浏览器中它真的很容易。您可以在那里设置调试器,以便在触发点击事件时停止执行:

【讨论】:

  • 这听起来不错,但我在点击时中断了,没有出现脚本。
  • @Tom,正如您从屏幕截图中看到的那样,这种方法对我有用。我唯一能建议的就是试着再等一会儿。有时 chrome 需要大量时间来解析脚本、突出显示和渲染。而且 extjs 中有很多非常庞大的脚本。所以这可能是个问题。
【解决方案2】:

我有一个技巧可以帮助您找到单击按钮时触发的内容:

  • 使用 chrome(在 safari 甚至使用 firebug 的 Firefox 中可能有类似的选项,但我不知道)
  • 打开您要检查的页面(显然:))并检查页面中的任何内容(右键单击,检查此元素)
  • 转到脚本选项卡
  • 然后单击暂停按钮(在右侧窗格中),然后单击您的按钮
  • 代码现在在触发 js 的地方断点(然后您可以按照流程调试您的代码)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多