對於我之前的回答,我表示歉意。我想過如何處理。現在我修改代碼來處理和觸發: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 –