Javascript 如何设置使用两个字母和keydown事件的组合键?

Javascript 如何设置使用两个字母和keydown事件的组合键?,javascript,Javascript,将Shift、Ctrl、Alt和一个普通字母组合起来很容易,但是如何使两个字母组合成键呢 例如: window.addEventListener('keydown', (e) => { if (e.altKey == true && e.key == "N"){ //This would work console.log('Alt + N'); } if(e.key == "N" &&

将Shift、Ctrl、Alt和一个普通字母组合起来很容易,但是如何使两个字母组合成键呢

例如:

window.addEventListener('keydown', (e) => {
  if (e.altKey == true && e.key == "N"){
    //This would work
    console.log('Alt + N'); 
  }

  if(e.key == "N" && e.key == "O"){
   //This would not work
   console.log('N + O');
  }
});

您可以将按下的键存储在
映射图中,在
keydown
上将其值设置为
true
,然后在
keydup
上将其重置为
false
。然后,您可以简单地检查
Map
中的两个键的值是否都为
true
,以确定它们是否都被按下

const p=document.querySelector('p');
const isPressed=新映射;
常量处理程序=e=>{
设置(e.key,e.type=='keydown');
if(isPressed.get('n')&&isPressed.get('o')){
p、 textContent=“N和O均按下”;
p、 style.color=“#7FFF00”;
}否则{
p、 textContent=“继续尝试。”;
p、 style.color=“红色”;
}
};
[“keydown”、“keydup”].forEach(ev=>window.addEventListener(ev,handler))
在这里聚焦并按下一些键。(提示:N+O是神奇的组合。)

您可以将按下的键存储在
地图中,在
keydown
上将其值设置为
true
,然后在
keydup
上将其重置为
false
。然后,您可以简单地检查
Map
中的两个键的值是否都为
true
,以确定它们是否都被按下

const p=document.querySelector('p');
const isPressed=新映射;
常量处理程序=e=>{
设置(e.key,e.type=='keydown');
if(isPressed.get('n')&&isPressed.get('o')){
p、 textContent=“N和O均按下”;
p、 style.color=“#7FFF00”;
}否则{
p、 textContent=“继续尝试。”;
p、 style.color=“红色”;
}
};
[“keydown”、“keydup”].forEach(ev=>window.addEventListener(ev,handler))
在这里聚焦并按下一些键。(提示:N+O是神奇的组合。)

您的示例似乎不起作用。“N和O都按下了”我没法按下@HugoSum你点击了iframe后集中注意力了吗?这对我来说很好。你的例子似乎不起作用。“N和O都按下了”我没法按下@HugoSum你点击了iframe后集中注意力了吗?这对我来说很好。