私たちはこのオープンソースプロジェクトを世界中の人々に提供したいと考えています。このチュートリアルの内容をあなたが知っている言語に翻訳するのを手伝ってください。
レッスンに戻る

拡張ホットキー

重要性: 5

コード code1, code2, …, code_n のキーを同時に押したときに func を実行する関数 runOnKeys(func, code1, code2, ... code_n) を作成してください。

例えば、下のコードは、 "Q""W" が同時に押されたときに alert を表示します(任意の言語で、CapsLockの有無にかかわらず)。

runOnKeys( () => alert("Hello!"), "KeyQ", "KeyW" );

新しいウィンドウでデモ

私たちは2つのハンドラを使う必要があります: document.onkeydowndocument.onkeyup です。

Set pressed は現在押されているキーを保持する必要があります。

最初のハンドラでそこに追加し、一方で2つ目のハンドラではそこから削除します。すべての keydown で必要なキーを押しているかをチェックし、その場合に関数を実行します。

サンドボックスで解答を開く