IE 11在接受Javascript警报后暂时冻结

IE 11在接受Javascript警报后暂时冻结,javascript,asp.net,Javascript,Asp.net,Asp.NET4.5 应用程序有文本框,其中的最小值和最大值是在回发(服务器端)上通过编程计算的,如果超过了限制,我将从服务器代码调用js函数。在Chrome、FF中效果非常好。但在IE中,在用户单击警报框上的[确定]后,它会冻结约2分钟。大约2分钟后,它允许用户再次开始输入。如果我注释掉警告框,那么它在IE中可以正常工作。你知道只有在IE中才会出现这种情况吗 对JS的服务器端调用 If sender IsNot Nothing And TypeOf sender Is TextBox Then

Asp.NET4.5

应用程序有文本框,其中的最小值和最大值是在回发(服务器端)上通过编程计算的,如果超过了限制,我将从服务器代码调用js函数。在Chrome、FF中效果非常好。但在IE中,在用户单击警报框上的[确定]后,它会冻结约2分钟。大约2分钟后,它允许用户再次开始输入。如果我注释掉警告框,那么它在IE中可以正常工作。你知道只有在IE中才会出现这种情况吗

对JS的服务器端调用

If sender IsNot Nothing And TypeOf sender Is TextBox Then
   CType(sender, TextBox).Attributes.Add("onblur", "MinMaxBlurServer(this," & min & "," & max & ");")
End If
JavaScript函数

function MinMaxBlurServer(obj, hfmin, hfmax) {
   var txt = obj;
   var val = txt.value;
   var m = document.getElementById("MainContent_minmaxpanel");
   m.style.display = 'none';

   if (isNumber(val) == "") {
     if (val != "") {
        //alert("Invalid enery. You must enter a numeric value!");
        txt.value = "";
     }
   } else {
     if (isNumber(hfmin)) {
        if (parseFloat(val) < parseFloat(hfmin)) {
            //alert("Value cannot be less than " + hfmin + ".");
            txt.value = hfmin;
        }
     }
     if (isNumber(hfmax)) {
        if (parseFloat(val) > parseFloat(hfmax)) {
            //alert("Value cannot be greater than " + hfmax + ".");
            txt.value = hfmax;
        }
     }
   }
}
function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
函数MinMaxBlurServer(obj、hfmin、hfmax){
var-txt=obj;
var val=txt.value;
var m=document.getElementById(“MainContent_minmaxpanel”);
m、 style.display='none';
如果(isNumber(val)==“”){
如果(val!=“”){
//警报(“无效的能量。您必须输入一个数值!”);
txt.value=“”;
}
}否则{
如果(isNumber(hfmin)){
if(parseFloat(val)parseFloat(hfmax)){
//警报(“值不能大于“+hfmax+”);
txt.value=hfmax;
}
}
}
}
函数isNumber(n){
return!isNaN(parseFloat(n))和&isFinite(n);
}

通过在window.setTimeout中包装警报框方法,该问题已得到解决。有关完整的详细信息,请参阅。下面的例子

window.setTimeout(function () { alert("Value cannot be less than " + hfmin + "."); }, 0);

通过将
isNumber
函数的布尔返回值与空字符串进行比较可以实现什么?将第一行简化为:
var txt=obj@Igor我对原始帖子进行了编辑