2010-02-26 97 views
1

我正在检查其他人的代码,并试图找出当我采取某些措施时正在执行的功能。萤火虫有没有办法做到这一点? (或任何其他方式)。javascript调试 - 有没有办法告诉哪些函数正在执行?

在这种特殊情况下,我试图找出在点击编辑器中的“下一个”和“上一个”按钮时发生的情况,在http://trirand.com/blog/jqgrid/jqgrid.html,“实时数据操纵>>导航器”(然后单击铅笔,然后在底部的箭头)。

我试图抓住项目我点击,并通过这样的控制台查看其属性:

>>> obj = $('#nData') 
>>> console.log(obj) 

,但似乎并没有成为点击的处理程序。

如果有一种方法可以查看执行某个操作时调用哪些函数,那将会是多么美妙的事情。

回答

1

FireQuery可能对您有些用处。它钩入Firebug,并在所有已被JQuery修改过的DOM元素上显示额外的元数据。

+0

是的,我同意FireQuery在这方面真的很方便 – Ben 2010-02-26 03:37:36

+0

这最终使我获得了功能,但没有解决我需要的功能。呃,好吧。 :) – Stomped 2010-02-26 04:00:02

0

在firebug中,在Script选项卡中,在要检查的行中放置一个断点。在右边,有一个“堆栈”标签,你可以看到当前的堆栈跟踪!

+0

如果我知道在哪里放置断点,我已经知道哪些代码正在执行。 – Stomped 2010-02-26 03:22:34

1

你可以使用Firebug的“打破下一个”(工具栏上的暂停按钮看)

然后你就可以步按钮移动。将其设置为使用它,然后单击您要检查其操作的按钮。

由于我的描述可能很烂,请检查this了。

编辑:这听起来像是你想要什么:

它的主要目标是在需要的地方在未知的开发者事先的密码破译JavaScript执行。一个典型的例子,大多数Web开发人员都知道这个例子:“地狱里的代码是什么,如果我点击这个按钮,它会被执行吗?”。

+0

这很有帮助,但并不完全。它只是向我展示了jQuery选择器代码,我不能完全使用它来访问onclick事件。 +1为我的一个不错的新技巧! – Stomped 2010-02-26 03:29:27

+0

您可以在“下一次中断”之后执行F10,直到找到可识别的代码。也可以使用堆栈,它可能表明你是来电者。 另一种方法是打开Firebug分析器并点击按钮,然后关闭它,它会显示所有已执行功能的列表,从那里您应该能够指向正确的功能。 – 2010-02-26 05:09:36

相关问题