javascript - 只允许使用JavaScript中的数字[重复项]

标签 javascript

这个问题已经在这里有了答案:




已关闭8年。




Possible Duplicate:
HTML Text Input allow only Numeric input



我用这个脚本
function isNumberKey(evt)
  {
    var e = event || evt; // for trans-browser compatibility
    var charCode = e.which || e.keyCode;                        
    if (charCode > 31 && (charCode < 47 || charCode > 57))
    return false;
    if (e.shiftKey) return false;
    return true;
 }

但是此脚本不能单独在firefox中使用。
是否有其他方法来限制用户使用javascript中的shift键?

最佳答案

Firefox中未定义event,它破坏了您的代码。在测试evt之后放它:

function isNumberKey(evt)
  {
    var e = evt || window.event; //window.event is safer, thanks @ThiefMaster
    var charCode = e.which || e.keyCode;                        
    if (charCode > 31 && (charCode < 47 || charCode > 57))
    return false;
    if (e.shiftKey) return false;
    return true;
 }

Fiddle

下次检查您的错误控制台。 :)

关于javascript - 只允许使用JavaScript中的数字[重复项],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114073/

相关文章:

javascript - 'any string'正则表达式的JS匹配返回整个空字符串

javascript - 如何制作自定义 HTML Helper?

javascript - 如何将 sinon js 注入(inject) iFrame 中的应用程序

Javascript将字符串转换为日期格式yyyy-MM-dd

javascript - Angular2/4 无法将输入字段绑定(bind)到 ngControl - 无法读取未定义的属性 'errors'

javascript - 生成 es6 模块导出

javascript - 需要在redux的reducer中追加数组中的数据

javascript - Typescript:仅当某些字段相等时,才获取重复的对象

javascript - 在递归中使用全局变量是一种好习惯吗

javascript - 带有变量的JavaScript正则表达式提取