2012-04-21 60 views
37

我正在查看必应地图网站。我正在打开我的地点编辑器并在绘图工具栏中单击折线工具当我点击某个元素时,如何找出JavaScript运行的内容?

我想发现当我点击绘图工具栏中的工具时运行的JavaScript。

我已经看过html,并且没有在元素上声明的onclick事件。

我已经对页面引用的所有脚本进行了文本搜索,以查找折线工具元素的ID。这是为了找到将单击事件附加到元素的javascript,但我根本没有找到匹配。

当我点击一个工具时,必须运行一些脚本。当我点击工具栏中的工具div时,如何找出正在执行的脚本?

我不认为有反正我可以设置断点,如果我不知道什么脚本来设置它们。无论如何,我可以通过IE F12开发人员工具或Firebug来捕获运行的JavaScript,以发现它是什么?

+2

在firebug中,您可以点击“暂停”按钮。然后,点击你想要的位置。只要js做某事,“暂停”按钮将使您的调试停止。 – 2012-04-21 20:55:10

+0

相关:http://stackoverflow.com/questions/446892 – 2012-04-21 20:55:23

+2

Chrome开发者工具中至少有一个“事件监听器”部分。也许IE也有它们,或者你可以在Chrome中检查它。它位于显示CSS属性的面板下方。 – 2012-04-21 20:55:32

回答

47

您可以查看Chrome中的“事件监听器”面板,其中包含有关每个监听器附加到元素的详细信息。

enter image description here

+0

感谢GGG,我已经做到了这一点,可以看到听众身体,但行号不正确,我认为(它说行1看起来是错的)。 javascript文件已被缩小,全部在一行,所以我想这就是原因。有没有一种方法可以发现侦听器功能的名称?或找到正确的行号? – 2012-04-21 21:40:14

+1

确实有。在检查器的“资源”选项卡中找到脚本(您应该能够从“事件监听器”面板获取该脚本)并查看窗口的底部。在上面的屏幕快照的放大镜附近,您会看到一个如下所示的按钮:'{}'。点击它,这是一个漂亮的打印按钮。现在回头看看Event Listeners面板,它将使用漂亮打印代码中的新行号。 – 2012-04-21 22:05:21

+0

你的意思是“脚本”选项卡?我在“脚本”选项卡下看到了一个“{}”漂亮的打印按钮,但没有显示“资源”选项卡。实际上,我已经尝试使用“脚本”选项卡中的此按钮格式化脚本,但“事件监听器”面板中的行号未更新。任何想法让它更新?谢谢 – 2012-04-21 22:30:25

1

打开调试器并启动分析器。点击你想要的。看看分析器是什么,看看被调用的是什么。

+1

有趣的是,当我点击[本页]右上角的最大化按钮(http:// wiki)时,我正在查找'toggle()'函数时,会产生50多个配置项条目。 dandascalescu.com/reviews/online_services/customer_and_project_management_systems)。 – 2014-10-08 20:10:38

3

要找到一个潜在事件处理程序已添加动态尝试执行中的类名 IDS 所有源搜索一个特定的元素。一旦找到事件处理程序,您可以设置断点并进行验证。

谷歌浏览器的全球搜索效果很好。

10

在Chrome开发人员工具中,单击时间轴选项卡,取消选中“加载”和“渲染”,然后单击记录按钮(实心圆)。点击按钮触发事件,然后再次点击该圆圈停止录制。在时间轴中查找您的活动,并通过点击旁边的箭头进行展开。在左边它会告诉你哪个函数被调用。

3

我之前在Chrome的调试工具中使用过Profiler。

在Chrome中打开该网站,F12以打开调试工具。在工具顶部的选项卡中,点击个人资料。

确保选中收集JavaScript的CPU配置文件被选中,并点击开始,然后单击折线工具你好奇,并创下停止。分析器现在应该列出所有在分析器处于活动状态时进行的Javascript调用。

Firebug可能有类似的东西。

相关问题