【发布时间】:2015-01-29 04:59:54
【问题描述】:
当使用右侧Event Listener Breakpoints选项的sources下的Mouseclick选项时,调试器会跳过以下函数代码:
<html>
<head>
<script type="text/javascript">
function test()
{
return true;
}
</script>
</head>
<body>
<input type="button" onclick="return test();" value="test">
</body>
</html>
问题不在于它不运行。就是我无法调试它,直到我按下input按钮两次才能step into (F11)该功能。
否则我无法调试代码中的内容。这很令人沮丧,因为它每次刷新页面时都会发生。这是一个错误还是本来就是这样的?
我正在使用:Chrome Ubuntu 版本 40.0.2214.93(64 位)
附:对于那些询问/将要询问的人,
我正在维护一个遗留应用程序,不幸的是,它有许多内联函数。当我的公司正在构建新软件来替换它时,花时间将所有这些放入文件中是没有意义的。由于资源用于构建新代码,因此我必须以这种方式对遗留应用程序进行少量调试。
【问题讨论】:
-
尝试放置一个console.log("hello");在返回 true 之前;在你的函数中。
-
我的猜测是,由于您使用的是 onclick 属性,因此您实际上并没有将函数作为处理程序绑定到事件。相反,您绑定一个执行该函数的匿名函数。
-
这可能很奇怪,但请尝试
onclick="console.log(test())"。应该在控制台中打印true。 -
@Huangism 问题不在于它不运行,是我无法在第一次点击时调试它。
-
@Huangism 在页面加载时打开调试器也不起作用。您会期望它在第一次点击时起作用。
标签: javascript google-chrome google-chrome-devtools inline-code