【问题标题】:Possible to pause debugger immediately after onclick event?可以在 onclick 事件后立即暂停调试器吗?
【发布时间】:2019-02-28 10:23:27
【问题描述】:

我正在尝试修复其他人代码中的错误。该程序有以下动态创建的onclick事件:

function onclick(event)
{
javascript:initpage(164725) 
}

此代码仅在程序运行时存在。错误消息是“JavaScript 运行时错误:'initpage' 未定义”。发生这种情况是因为 initpage 函数定义拼写为 InitPage,因此我尝试定位代码中 InitPage 动态更改为小写的位置,但没有成功。

单击事件后,我无法命中任何断点。

是否可以在 onclick 事件之后立即暂停调试器以便我可以按照代码进行操作?如果没有,我有什么选择?谢谢

【问题讨论】:

    标签: javascript vb.net debugging onclick breakpoints


    【解决方案1】:

    编辑
    覆盖onclick,类似这样的

    window.onload= function()
    {    
       var spans = document.getElementById('breadCrumbsID').getElementsByTagName('span');
    
    
    for (var i = 0; i < spans.length; i++) {   
        spans[i].setAttribute('onclick',"javascipt:InitPage();")
    }
    }
    
    function InitPage()
    {
       console.log("it worked");
    }
    <div id="breadCrumbsID">   
        <span id="sp1" onclick="javascript:initpage()"> A</span>
        <span id="sp2" onclick="javascript:initpage()"> B</span>
    </div>

    【讨论】:

    • “JavaScript 运行时错误:'initpage' 未定义”表示此函数不存在,您说还有另一个“InitPage()”可用。如果是拼写错误并且您无法更改动态代码,则只需在 window.onload 函数中像上面那样覆盖即可。
    • 代码给出以下错误:JavaScript 运行时错误:无法获取未定义或空引用的属性“getElementsByTagName”
    猜你喜欢
    • 1970-01-01
    • 2020-06-09
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多