对于我之前的回答,我表示歉意。我想过如何处理。现在我修改代码来处理和触发:KeyDown和使用keyUp这样的:
var x,
alt,
space;
document.addEventListener('keydown', function (e) {
e = window.event ? event : e;
switch (e.keyCode) {
case 88:
x = true;
break;
case 18:
alt = true;
break;
case 32:
space = true;
break;
}
});
document.addEventListener('keyup', function (e) {
if (x && alt && space) {
alert("alt + space + x Pressed!");
}
x = alt = space = false;
});
function triggerEvent(eventName, keyCode) {
var event; // The custom event that will be created
if (document.createEvent) {
event = document.createEvent('HTMLEvents');
event.initEvent(eventName, true, true);
} else {
event = document.createEventObject();
event.eventType = eventName;
}
event.eventName = eventName;
event.keyCode = keyCode || null;
if (document.createEvent) {
document.dispatchEvent(event);
} else {
document.fireEvent('on' + event.eventType, event);
}
}
triggerEvent('keydown', 88);
triggerEvent('keydown', 18);
triggerEvent('keydown', 32);
triggerEvent('keyup');
https://jsfiddle.net/m83omwq5/1/
除了结在手指试图以按压与
你可以用两个事件实现它左手,不知道大图是什么,我假设你有一个事件监听器在执行一些代码的密钥组合设置。那么为什么不直接调用目标函数而不是模拟键的组合呢? – Nope
请参阅http://stackoverflow.com/questions/17504496/javascript-two-key-pressed-at-the-same-time。这是为了处理按键。所以看起来事件一次只能容纳一个'which'键加上修饰符(alt,shift等)。您需要将多个事件传递给'input'并从那里处理。或者直接调用该方法,就像@Fran所说的那样。 – G0dsquad
是的,我可以简单地调用这个函数,但是这个问题的答案可以回答问题,例如最小化窗口的功能,以后我会需要(alt + space + n),也许编辑问题更好,我会看到链接@ G0dsquad –