1. ホーム
  2. javascript

[解決済み] キーが押されているかどうかをチェックする?

2022-11-13 14:54:54

質問

JavaScriptでキーが押されているかどうかを検出する方法はありますか?

私は"keydown" イベントについて知っていますが、それは私が必要とするものではありません。キーが押された後のある時間、私はそれがまだ押されているかどうかを検出することができるようにしたいのです。

P. 追記: 最大の問題は、ある期間の後、キーが繰り返され始め、キーダウンとキーアップ イベントが猛烈な勢いで発生することです。単純な isKeyDown(key) 関数があることを望みますが、そうでなければ、この問題を克服し、回避する必要があります。

どのように解決するのですか?

JavaScript でキーが現在押されているかどうかを検出する方法はありますか?

ありません。唯一の可能性は、各 keyupkeydown と記憶する。

<ブロッククオート

しばらくすると、キーが繰り返されるようになり、キーダウンとキーアップのイベントが鬼のように発射されるようになります。

そんなことはないはずです。あなたは間違いなく keypress が繰り返され、多くのブラウザで keydown が表示されますが、もし keyup が繰り返されるとバグになります。

Linux では、Chromium と Firefox (Ubuntu などの一般的なディストロで GTK+ の下で実行されている場合) は両方とも、押したままのキーに対してキーアップ、キープレス、キーダウンのシーケンスを繰り返し生成し、誰かがキーを本当に速く叩いていても見分けることは不可能です。