我遇到了问题,我需要找到解决方案。 :d
所以这是我的代码:
var inputEnabled = true
var pressedKey = {}
window.addEventListener('keydown',function(e) {
pressedKey[e.keyCode || e.which] = true;
}, true);
window.addEventListener('keyup',function(e) {
pressedKey[e.keyCode || e.which] = false;
}, true);
function keyBinding() {
if (*my problem*) {
loadMenu()
}
if (inputEnabled == true) {
setTimeout("keyBinding()", 25)
}
}
我想要的是,当按下任何键时我想加载一个菜单,但我不知道我应该怎么检测到按键。
任何帮助都将不胜感激。
答案 0 :(得分:0)
尝试使用代码中*my problem*
的地方:
if(Objects.keys(pressedKey).length>0){ // checks if the object 'pressedKey' contains atleast one key
loadMenu()
}
但我建议直接在按键监听器内检查按键:
var inputEnabled = true
var menuLoaded = false; // this will indicate if the menu is loaded already
var pressedKey = {}
window.addEventListener('keydown', function (e) {
if(!menuLoaded){ // check if menu is not open
loadMenu()
menuLoaded = true
}
pressedKey[e.keyCode || e.which] = true;
}, true);
window.addEventListener('keyup', function (e) {
pressedKey[e.keyCode || e.which] = false;
}, true);