ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の「checkKey」関数で矢印キーストロークが検出されないのはなぜですか?

JavaScript の「checkKey」関数で矢印キーストロークが検出されないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-24 14:04:14741ブラウズ

Why are Arrow Keystrokes Not Detected in My JavaScript `checkKey` Function?

JavaScript でのキーの識別と矢印キーの検出

キーボード入力の検出は、多くの JavaScript アプリケーションにとって不可欠です。キーストロークの識別は一般に簡単ですが、ほとんどのブラウザでは矢印キーのネイティブなスクロール動作が原因で、矢印キーの処理には独特の課題が生じます。この質問では、checkKey 関数の使用時に発生した問題について説明します。この関数は、キー押下は正常にキャプチャされますが、矢印キーストロークの検出に失敗します。

この問題の答えは、矢印キーに関連付けられた特定のイベント タイプにあります。通常のキーとは異なり、矢印キーは onkeydown イベントのみをトリガーします。したがって、矢印キー入力をキャプチャするには、それに応じて checkKey 関数を変更する必要があります:

function checkKey(e) {
    var event = window.event ? window.event : e;
    if (event.type === "keydown")  // Check for keydown event
        console.log(event.keyCode)
}

さらに、答えは矢印キーに対応するキー コードを提供します:

  • 左 = 37
  • 上 = 38
  • 右 = 39
  • down = 40

これらのキー コードを利用すると、開発者は矢印キーの押下に応答する機能を簡単に実装できます。

以上がJavaScript の「checkKey」関数で矢印キーストロークが検出されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。