今日在看JavaScript的时候,发现键盘响应时间onkeydown和一些其他的相关事件都停用了keyCode这个属性,而keyCode这个属性返回的是键盘按键的ASCII码值,停用后有个code属性替代,但也不完全替代,因为code属性返回的是键值本身的值,所以写法也不一样,下面用正则表达式来禁止输入框输入数字,直接上代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>1609</title>
    <script>
        window.onload = function(){
            var inp = document.getElementsByTagName("input")[0];
            inp.onkeydown = function(e){
                if(/\d/.test(e.code)){

                    return false;
                }
                console.log(e.code);
            };
        };
    </script>
</head>
<body>
<input type="text" id="1" />
</body>
</html>

JavaScript中正则表达式的test()方法返回一个bool值,就是文本是否匹配表达式

而使用keyCode写法如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>1609</title>
    <script>
        window.onload = function(){
            var inp = document.getElementsByTagName("input")[0];
            inp.onkeydown = function(e){
                if(e.keyCode >= 48 && e.keyCode <= 57)){

                    return false;
                }
                console.log(e.code);
            };
        };
    </script>
</head>
<body>
<input type="text" id="1" />
</body>
</html>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。