Javascript 如何设置使用两个字母和keydown事件的组合键?
将Shift、Ctrl、Alt和一个普通字母组合起来很容易,但是如何使两个字母组合成键呢 例如: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" &&
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后集中注意力了吗?这对我来说很好。