22

有没有办法通过单击某个按钮来找出哪个 Javascript 函数被触发?

让我解释一下...
我有一个带有大型js脚本的网页(不是我制作的),我要检测特定按钮触发了哪个功能,我需要找到该按钮触发的功能。

4

4 回答 4

24

使用 Chrome 的 Web Inspector 检查元素并查看Event Listeners面板。

Web 检查器示例

如果附加事件的代码在库中(例如,在我的示例中是由 Zepto 编写的),请在该行上设置一个断点并检查调用堆栈以查看它在代码中的来源。

调用堆栈示例

如您所见,事件起源于我的代码,现在我知道文件名和行号。

于 2012-06-19T09:08:58.977 回答
2

在您的功能中,您可以arguments.callee了解它。请注意,这已被弃用,但应该告诉您您在寻找什么。

alert(arguments.callee);
于 2012-06-19T09:10:16.367 回答
1

在 Google Chrome 中,打开您感兴趣的网页。

右键单击要检查的元素(即按钮)。在出现的“上下文菜单”中,单击“检查”。将出现一个“开发者工具”窗口。

  1. 单击“元素”选项卡。
  2. 如果尚未选择,请单击要检查的 HTML 元素。
  3. 单击“事件侦听器”选项卡。将显示完整的听众列表。
  4. 选择您感兴趣的事件侦听器。即“单击”。将显示一个调用堆栈。
  5. 单击调用堆栈中的最后一项。这最终会将您重定向到事件触发时执行的实际函数。

谷歌浏览器 - 检查选项

谷歌浏览器 - 开发者工具窗口

于 2020-09-25T08:03:54.033 回答
0

为什么不使用Stack Trace for JavaScript,即 stacktrace.js

转到上面的链接,单击Bookmarklet并在您要检查的任何站点上加载 js 文件。

于 2012-06-19T09:12:18.703 回答