这是我的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()
。