我被困在修改别人的源代码,不幸的是它非常强大的没有记录。如何在按下按钮时发现哪个函数被调用?
我试图弄清楚当我按下一个按钮作为努力跟踪当前错误的来源时,调用哪个函数,我没有运气。从我所知道的函数它会在生成后动态添加到按钮中,因此,我没有检查onlick =“”,并且我的调试面板中找不到任何其他帮助信息。 “M更愿意在不同的浏览器启动了,如果我不得不这样做。
我被困在修改别人的源代码,不幸的是它非常强大的没有记录。如何在按下按钮时发现哪个函数被调用?
我试图弄清楚当我按下一个按钮作为努力跟踪当前错误的来源时,调用哪个函数,我没有运气。从我所知道的函数它会在生成后动态添加到按钮中,因此,我没有检查onlick =“”,并且我的调试面板中找不到任何其他帮助信息。 “M更愿意在不同的浏览器启动了,如果我不得不这样做。
在Chrome中,键入后您的地址栏下面页面已完全加载(不要忘记更改按钮类别):
var b = document.getElementsByClassName("ButtonClass"); alert(b[0].onclick);
或者您可以尝试(进行相应的更改f或正确的按钮ID):
var b = document.getElementById("ButtonID"); alert(b.onclick);
这应该警告消息框中的函数名称/代码段。
拥有函数名称或代码片段后,您只需通过.js文件为片段/函数名称执行搜索。
希望它有帮助!
您可以为每个函数添加一个跟踪变量。使用console.log()查看跟踪结果。
像这样:
function blah(trace) {
console.log('blah called from: '+trace);
}
(查看结果,你必须打开开发者控制台)
检查按钮标记,看看它的类/ ID。使用class和id和搜索的JavaScript,它很可能是以前开发商做了一些类似
document.getElementById('someId').onclick = someFunction...;
或
document.getElementById('someId').addEventListener("click", doSomething, false);
是的,我最终设法追溯到后者。看起来他们使用某种预先创建的工厂代码将功能附加到相关按钮上。 – RonLugge
我不认为这是可能的,但我会考虑它 –