3つの主要なイベントを個別にキャプチャし、3番目のイベントの後でのみアクションを実行する必要があります。
var keys = {
d: { code: 100, pressed: false, next: 'e' },
e: { code: 101, pressed: false, next: 'v' },
v: { code: 118, pressed: false, next: 'd' }
},
nextKey = 'd';
$(document).keypress(function(e) {
if (e.keyCode === keys[nextKey].code) {
keys[nextKey].pressed = true;
nextKey = keys[nextKey].next;
} else {
keys.d.pressed = false;
keys.e.pressed = false;
keys.v.pressed = false;
nextKey = 'd';
}
if (keys.d.pressed && keys.e.pressed && keys.v.pressed) {
alert('Entering dev mode...');
}
});
もちろん、これを行うにはいくつかの方法があります。この例では、キーを同時に押し続ける必要はありません。キーを順番に入力するだけですd e v。
これを使用した場合は、pressed
一定の時間間隔の後にフラグをクリアするためにこれを拡張することをお勧めします。
これが実際の例です。
免責事項:元の質問では、キーを「一緒に押す」必要があると言われていました。他の回答者がキーを一緒に押すための十分な解決策をすでに提供しているため、これは単なる代替手段です。