为什么即使我键入“ a”或“ A”,event.keyCode始终返回65?

时间:2019-10-05 15:05:58

标签: javascript

我正在尝试使用香草javascript阅读网站上按下的键盘。即使我键入“ a”或“ A”,键码也相同。有没有一种方法可以使按键不是输入的,而是字母输入的。也许,...正确的获取大写或小写字母的方法实际上是获取shiftKey值吗?

<html>
    <body>
        <script>
            window.onload = function (e) {
                window.addEventListener('keydown', function (event) {
                    console.log(JSON.stringify({
                        lastKey: {
                            shiftKey: event.shiftKey,
                            code: event.keyCode,
                            char: String.fromCharCode(event.keyCode),
                        }
                    }))
                });
            };
        </script>
    </body>
</html>

当我按'a'时:

{"lastKey":{"shiftKey":false,"code":65,"char":"A"}}

当我按“ Shift”键时:

{"lastKey":{"shiftKey":true,"code":16,"char":"\u0010"}}

当我按“ a shift”时:

{"lastKey":{"shiftKey":true,"code":65,"char":"A"}}

1 个答案:

答案 0 :(得分:0)

听起来像您在寻找event.key

foo.addEventListener('keydown', (event) => {
  console.log(event.key);
})
<textarea id="foo"></textarea>