是否已弃用许多功能或不是 KeyboardEvent 对象类的当前标准的一部分。当我按 shift 或 esc 时,只是想知道为什么。我的Chrome或Mozilla控制台上没有显示任何键。
document.addEventListener("keypress", (e) => {
console.log(e.keyCode);
console.log(e.key);
console.log(e.code);
console.log(e.shiftKey);
});
使用浏览器控制台
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent
答案 0 :(得分:1)
keypress
仅在按下可打印字符时触发。对于所有密钥,您需要使用keyup
或keydown
。
来自 MDN :
<强>按键强>
当生成字符值的键时会触发按键事件 被压了下来。产生字符值的键的示例是 字母,数字和标点符号键。没有的键的例子 生成字符值的是修饰键,例如 Alt , Shift , Ctrl 或 Meta 。
document.addEventListener("keydown", (e) => {
console.log(e.keyCode);
console.log(e.key);
console.log(e.code);
console.log(e.shiftKey);
});
<h1>Click into this area and then press ESC</h1>