javascript - JS不支持firefox 15.0

标签 javascript

这是我的 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的bug,还是我的脚本有问题?

最佳答案

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

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

关于javascript - JS不支持firefox 15.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12293082/

相关文章:

javascript - 如何使用 jquery 为表中的序列号列提供连续编号

javascript - 如何在提交表单时限制特定的电子邮件域

javascript - 使用 moment-jalaali 插件的非公历 (jalali) FullCalendar

javascript - 在调用自定义模态的 javascript 变量之前添加简单的 7 秒延迟

javascript - 获取相同的数据到两个选择元素

javascript - ngRepeat 继续重新创建

javascript - IONIC - 获取多个复选框状态作为函数参数

javascript - 当 flag 为 true 时,如何使用 lodash 替换数组中的值

javascript - 如何使用 nodejs 和 HAPI 上传文件?

javascript - Xaxis 数据按降序提供给 highcharts 但 xaxis 仍然按升序出现