javascript - isNumberKey() 不起作用

标签 javascript html keyevent

很久以前,如果(在此站点上)发现一些代码阻止用户在文本框中输入字母,并且它起作用了。自从找到此代码后,我对其进行了更改并添加,但现在它不起作用。这是我的代码:

var count = 1

function isNumberKey(event) {
var keyCode = window.event ? event.keyCode : event.which;

if (event.keyCode === 8 // backspace
|| event.keyCode === 46 // delete
|| event.keyCode === 13 // enter key
|| event.keyCode === 9 // tab
|| event.keyCode === 116 // F5 (refresh)
|| event.keyCode === 112 // F1
|| event.keyCode === 113 //F2
|| event.keyCode === 114 //F3
|| event.keyCode === 115 //F4
|| event.keyCode === 117 //F6
|| event.keyCode === 118 //F7
|| event.keyCode === 119 //F8
|| event.keyCode === 120 //F9
|| event.keyCode === 121 //F10
|| event.keyCode === 122 //F11
|| event.keyCode === 123 //F12
) {
return true;
}
else if ( key < 48 || key > 57) {
if (count < 6) {
count++; //adds one to count
}
else {
alert("Please Only Enter Numerical Values");
count = 1;
}
return false;
}
else return true;
}

我并不是声称我制作/编写了这段代码,但任何人都可以看到该代码有任何问题吗?

最佳答案

这会起作用。它不起作用,因为您使用 key < 48 || key > 57相反 event.keyCode < 48 || event.keyCode > 57

var count = 1

function isNumberKey(event) {
    var keyCode = window.event ? event.keyCode : event.which;

    if (event.keyCode === 8 // backspace
        || event.keyCode === 46 // delete
        || event.keyCode === 13 // enter key
        || event.keyCode === 9 // tab
        || event.keyCode === 116 // F5 (refresh)
        || event.keyCode === 112 // F1
        || event.keyCode === 113 //F2
        || event.keyCode === 114 //F3
        || event.keyCode === 115 //F4
        || event.keyCode === 117 //F6
        || event.keyCode === 118 //F7
        || event.keyCode === 119 //F8
        || event.keyCode === 120 //F9
        || event.keyCode === 121 //F10
        || event.keyCode === 122 //F11
        || event.keyCode === 123 //F12
    ) {
        return true;
    }
    else if ( event.keyCode < 48 || event.keyCode > 57) {
        if (count < 6) {
            count++; //adds one to count
        }
        else {
            alert("Please Only Enter Numerical Values");
            count = 1;
        }
        return false;
    }
    else return true;
}

关于javascript - isNumberKey() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742288/

相关文章:

html - 图像在 Internet Explorer 9 中显示两次,而在 Firefox 或 Chrome 中显示完美

javascript - SVG - 如何绘制画笔污点?

javascript - Instagram 链接打开应用程序内浏览器而不是外部/ native 浏览器

javascript - jQuery.expr [':' ] 是如何工作的,jQuery1.8.x 及更高版本的文档记录在哪里?

java - 如何检查按下的键是否可打印?

c# - 禁用 datagridview 中的复制和粘贴

java - FXML 中的 "Handler method not accessible"错误(仅当我使用 "Event"或 "ActionEvent"参数创建方法时才有效)

javascript - 同时运行两个独立的 jQuery

html - Zalgo 文本如何工作?

html - 如何刷新OG :tags for WhatsApp