Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么下面代码部分显示的javascript函数在Firefox和Chrome中不起作用?但在IE中效果很好_Javascript - Fatal编程技术网

为什么下面代码部分显示的javascript函数在Firefox和Chrome中不起作用?但在IE中效果很好

为什么下面代码部分显示的javascript函数在Firefox和Chrome中不起作用?但在IE中效果很好,javascript,Javascript,此代码负责防止用户输入非数字字符,如除数字[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 &a

此代码负责防止用户输入非数字字符,如除数字[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));
}
'oKeyPress':函数(e){
e=e | | window.event;
var charCode=(navigator.appName==“Netscape”)?e.which:e.keyCode;
返回!(charCode>31&(charCode<48|charCode>57));
}

在您的
按键中
事件以获取
字符编码
使用以下方法:

return (window.event ? e.keyCode : e.which)
使用;非浏览器检测:

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

谢谢你们的建议和反馈;我刚刚发现为什么它以前不能在Firefox和chrome上运行。它不起作用的原因是因为我使用了类似于C代码背后代码的代码:

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

感谢

注意使用
navigator.appName
来决定键代码使用哪个属性。有关如何修复,请参阅:-第二个答案说明了如何修复。虽然事件名称可能也有误,但注意到“oKeyPress”可能应该是“onKeyPress”?Netscape check,yikes,烧掉你用来获取该引用的任何东西<代码>var keyCode=e.keyCode | | e.which@epascarello:还有
e.charCode
。jQuery有
e.charCode!=无效的e、 charCode:e.keyCode
其中
e.which
尚未设置。
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))");