我尝试使用此代码检测同时按下的两个键盘箭头:
document.addEventListener('keydown',event => { if (event.keyCode === 38) { console.log('up Arrow') } if (event.keyCode === 39) { console.log('right Arrow') } })
但它不起作用,但我努力尝试在同一时间按它们.
如何干净地修复此问题并检测两个键何时关闭?
解决方法
每个事件只有一个keyCode.您必须跟踪向下和向上的键:
// if you keep both up and down keys down,you'll get a message let downKeys = {}; // the set of keys currently down document.addEventListener('keydown',event => { downKeys[event.keyCode] = true; if (downKeys[38] && downKeys[40]) { console.log("both down!"); } }); document.addEventListener('keyup',event => { downKeys[event.keyCode] = false; });
(你必须去整页测试这个片段)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。