Javascript event.returnvalue=false在firefox中不起作用?

Javascript event.returnvalue=false在firefox中不起作用?,javascript,jquery,internet-explorer,firefox,internet-explorer-8,Javascript,Jquery,Internet Explorer,Firefox,Internet Explorer 8,我正在开发一个旧的应用程序,使其与firefox兼容。由于旧的应用程序不使用Jquery,所以我必须只使用Javascript来完成所有工作 我有一个用于输入日期的输入字段。此字段应只允许0-9个数值。因此,我修改了这样的代码,使其与firefox兼容 var event = window.event || ffEvent ; //ffEvent is the function argument var intKeyCode = event.keyCode || event.which; if

我正在开发一个旧的应用程序,使其与firefox兼容。由于旧的应用程序不使用Jquery,所以我必须只使用Javascript来完成所有工作

我有一个用于输入日期的输入字段。此字段应只允许0-9个数值。因此,我修改了这样的代码,使其与firefox兼容

var event = window.event || ffEvent ; //ffEvent is the function argument
var intKeyCode = event.keyCode || event.which;
if (intKeyCode < 48 || intKeyCode > 57){
 if(event.preventDefault){
   event.preventDefault();
 }
 else{
   event.returnValue = false;
 }
}
var event=window.event | | ffEvent//ffEvent是函数参数
var intKeyCode=event.keyCode | | event.which;
如果(intKeyCode<48 | | intKeyCode>57){
if(event.preventDefault){
event.preventDefault();
}
否则{
event.returnValue=false;
}
}
但是现在的问题是
event.returnValue=false
允许像
Backspace、Tab、Delete、箭头按钮这样的键,其中as
event.preventDefault()
不允许这些按钮。必须允许输入字段使用这些按钮


那么,firefox是否有与event.returnValue=false完全相同的解决方案呢?为什么不使用keyCodes来检查字符是否为数字

function isNumberKey(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
    var event = window.event || ffEvent ; //ffEvent is the function argument
    var intKeyCode = event.keyCode || event.which;
    if (intKeyCode > 31 && (intKeyCode < 48 || intKeyCode > 57))
         return false;

    return true;
}

当密钥是要允许的密钥之一时,只需跳过
事件。preventDefault()

window.onload=函数(){
document.getElementById('myField')。onkeypress=函数(事件){
var keyCode=event.keyCode | | event.which,
allowedKey=keyCode==8 | |//退格
keyCode==9 | |//选项卡
keyCode==13 | |//输入
keyCode==37 | |//左
keyCode==39 | |//右
keyCode==46 | |//删除

(keyCode>=48&&keyCode我想在firefox中允许像delete、backspace这样的按钮。但是event.preventDefault()不允许。这就是我的建议,如果数字是唯一要检查的东西,甚至不要使用prevenDefault()。不起作用。我希望日期字段应该允许数字和其他按钮,如backspace、delete、tab等。
onkeypress="return isNumberKey(event)