这是我的JS

function validate(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode( key );
  var regex = /[0-9]/;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
    if(theEvent.preventDefault) theEvent.preventDefault();
  }
}


该脚本仅用于input标记,只能键入数字。

它在Google chrome上运行良好,但是在Firefox 15.0退格键上,删除,箭头键不起作用

这是firefox的错误,还是我的脚本有问题?

最佳答案

原因是Chrome和IE不会针对这些特殊键(退格键,删除键,箭头键)触发按键事件。

但是对于Firefox,该事件将被触发,并且与正则表达式匹配失败,因此将执行theEvent.preventDefault()

10-07 13:46