【发布时间】:2019-10-05 15:05:58
【问题描述】:
我正在尝试使用香草 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 with shift' 时:
{"lastKey":{"shiftKey":true,"code":65,"char":"A"}}
【问题讨论】:
-
keyCode显示实际按下的 keyboard 键,而不是字符代码。 -
e.keyCode不是按键产生的字符的代码,而是按键本身的代码。如果您需要实际字符,请改用e.key。 -
一个简单的日志和整个事件对象的检查可能会帮助你自己解决这个问题
-
@Teemu 啊!这是
event.key。我很困惑。谢谢。
标签: javascript