2012-05-09 34 views
0

我被困在修改别人的源代码,不幸的是它非常强大的没有记录。如何在按下按钮时发现哪个函数被调用?

我试图弄清楚当我按下一个按钮作为努力跟踪当前错误的来源时,调用哪个函数,我没有运气。从我所知道的函数它会在生成后动态添加到按钮中,因此,我没有检查onlick =“”,并且我的调试面板中找不到任何其他帮助信息。 “M更愿意在不同的浏览器启动了,如果我不得不这样做。

+0

我不认为这是可能的,但我会考虑它 –

回答

1

在Chrome中,键入后您的地址栏下面页面已完全加载(不要忘记更改按钮类别):

var b = document.getElementsByClassName("ButtonClass"); alert(b[0].onclick); 

或者您可以尝试(进行相应的更改f或正确的按钮ID):

var b = document.getElementById("ButtonID"); alert(b.onclick); 

这应该警告消息框中的函数名称/代码段。

拥有函数名称或代码片段后,您只需通过.js文件为片段/函数名称执行搜索。

希望它有帮助!

1
    与浏览器的JavaScript调试器中打开
  1. 打开页面
  2. 单击“Break all”或同等效果
  3. 单击您希望调查的按钮(如果鼠标悬停页面元素导致事件被触发,可能需要一些技巧。如果页面中发生超时或间隔,它们可能也会妨碍您的工作。)
0

您可以为每个函数添加一个跟踪变量。使用console.log()查看跟踪结果。

像这样:

function blah(trace) { 
    console.log('blah called from: '+trace); 
} 

(查看结果,你必须打开开发者控制台)

1

检查按钮标记,看看它的类/ ID。使用class和id和搜索的JavaScript,它很可能是以前开发商做了一些类似

document.getElementById('someId').onclick = someFunction...; 

document.getElementById('someId').addEventListener("click", doSomething, false);

+0

是的,我最终设法追溯到后者。看起来他们使用某种预先创建的工厂代码将功能附加到相关按钮上。 – RonLugge

相关问题