为什么代码部分中显示的javascript函数在Firefox和Chrome中不起作用?但在IE中工作良好

Why the javascript function shown below in the code section is not working in Firefox and Chrome? but works fine in IE

本文关键字:不起作用 Chrome 但在 工作 IE Firefox 显示 代码部 javascript 函数 为什么      更新时间:2023-09-26

此代码负责防止用户输入非数字字符,如除数字[0-9]以外的任何ascii字符。在IE中工作正常,但在Firefox和Chrome中不工作。任何帮助和建议都是非常感谢的。

谢谢

'oKeyPress': function (e) {
    e = e || window.event;
    var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode;
    return !(charCode > 31 && (charCode < 48 || charCode > 57));
}

使用特征检测;未被浏览器检测:

var charCode = e.charCode || e.keyCode;

在您的KeyPress事件中获取charcode,使用以下命令:

return (window.event ? e.keyCode : e.which)

感谢大家的建议和反馈;我刚刚发现了为什么它以前不能在Firefox和chrome上工作。它不起作用的原因是因为我使用了c#代码中的代码:

this.txtApsId.Attributes.Add("onkeypress", "return (function(e) {var charCode = (navigator.appName == 'Netscape') ? e.which : e.keyCode; return charCode > 31 && (charCode < 48 || charCode > 57); }(event || window.event))");

谢谢