You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript断点时正常运行,无断点时blur校验及焦点设置失效求助

问题:文本框blur校验仅调试时生效,正常运行失效

当文本框失去焦点(blur)时,我会校验其值是否在允许范围内,若不在就弹窗提示用户,并将焦点切回该文本框。这个功能在JavaScript触发断点,或者通过后端代码实现时都能正常工作,但不开启开发者工具、无断点运行时完全失效。

事件绑定代码(页面加载时)

Weight.Attributes.Add("onkeyup", "CheckForRouteInfoChanges();")
Weight.Attributes.Add("onblur", "ValidateWeight();")

文本框控件定义

<asp:TextBox runat="server" ID="Weight" Width="150px" />

对应的JavaScript校验函数

function ValidateWeight() {
    var currentWeight = document.getElementById("<%=Weight.ClientID%>");
    if (currentWeight.value != document.getElementById("<%=oldWeight.ClientID %>").value) {
        var valid = true;
        var current = parseInt(currentWeight.value);
        var minimum = parseInt(document.getElementById("<%=MinWeight.ClientID%>").value);
        var maximum = parseInt(document.getElementById("<%=MaxWeight.ClientID%>").value);
        if (minimum > current) {
            alert("Weight must be at least " + minimum);
            console.log(currentWeight.value);
            valid = false;
        }
        if (maximum < current) {
            alert("Weight must be at most " + maximum);
            valid = false;
        }
        console.log('Finished checking weights!');
        if (!valid) {
            console.log(currentWeight.value);
            currentWeight.focus();
            currentWeight.select();
            console.log('Focus ought to be set!');
        }
    }
}

我不清楚还需要排查哪些点来解决这个仅在调试时正常的问题,恳请帮助。

编辑:根据iamdlm的建议添加了控制台日志,日志输出符合预期,但焦点仍未设置:

3
Finished checking weights!
3
Focus ought to be set!

内容的提问来源于stack exchange,提问作者Michael Foster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:22:01