Javascript 如何检测是否按下了某个键

Javascript 如何检测是否按下了某个键,javascript,Javascript,我试图制作一个脚本来检测某个键是否被按下,但我能想到的唯一合理的事情就是这个 onkeydown('F12')){ myFunction() } 我该怎么做?谢谢 为“keydown”(或“keyup”)操作添加事件侦听器。 要获取按下的特定键,请使用“event.key” 使用keyCode可以获得特定的密钥。如果按enter关键字(代码13),则此示例有效。看看这个: document.addEventListener(“按键”),函数(事件){ 如果(event.keyCode==13

我试图制作一个脚本来检测某个键是否被按下,但我能想到的唯一合理的事情就是这个

onkeydown('F12')){
myFunction()
}

我该怎么做?谢谢

为“keydown”(或“keyup”)操作添加事件侦听器。 要获取按下的特定键,请使用“event.key”


使用keyCode可以获得特定的密钥。如果按enter关键字(代码13),则此示例有效。看看这个:

document.addEventListener(“按键”),函数(事件){
如果(event.keyCode==13){
log('helloworld');
}

});也许这就是你想要的:

var-inputForm=document.getElementById(“taskInput”);
inputForm.addEventListener('keydown',函数(事件){
log(“您正在按此键:”,String.fromCharCode(event.keyCode));
});

您应该监听
keydown
事件并检查其
e.key
属性:

const KEY\u处理程序={
F1:()=>console.log('您按了F1'),
箭头向上:()=>console.log('您按下了↑.'),
KeyA:()=>console.log('您按了A.'),
};
document.addEventListener('keydown',(e)=>{
e、 预防默认值();
const handler=KEY_handler[e.code];
if(处理程序){
handler();
返回;
}
console.log('在没有处理程序的情况下按了一个键')

})
keypress
e.keyCode
都不推荐使用。
keydown
e.key
e.code
都应该使用。另外,请查看另一个工具:
e.keyCode
不推荐使用。您应该使用
e.key
e.code>,尤其是在考虑到您正在使用
keyCode
使用
String.fromCharCode
获取字符,您可以直接从
e.key
获取该字符,包括特殊值,如
空格、转义、箭头向上、箭头向右、删除…
document.addEventListener("keydown", function(e){
    var key = e.key
})