ホームページ >ウェブフロントエンド >jsチュートリアル >`.keyCode` と `.that`: 最適なキー押下イベント キー識別子はどれですか?
キープレス イベント キーの識別: .keyCode と .that
キープレス イベントを処理する際、開発者は .keyCode を使用するか、.keyCode を使用するかの選択に直面することがよくあります。 .キーストロークを決定するもの。どちらも押されたキーを識別するという目的を果たしますが、微妙な違いとブラウザ間の互換性に関する考慮事項があります。
歴史的に、.keyCode はキー押下を検出するために広く使用されてきましたが、そのサポートはブラウザ間で一貫していません。キャラクターの Unicode コードを使用するものもありますが、プラットフォーム固有の値を使用するものもあります。この不一致により、クロスブラウザ アプリケーションで予期しない動作が発生する可能性があります。
一方、.これはより正規化されたアプローチです。ブラウザーやプラットフォームに関係なく、キーの論理識別子を表す標準化された値を返します。ただし、古いブラウザではサポートされていない可能性があります。
ブラウザ間で発生する可能性のある問題に対処するために、jQuery では常に .that を使用してキー押下動作を標準化しています。さまざまなブラウザの非標準値を一貫した形式に変換するため、ブラウザ間の互換性にとって信頼できる選択肢となります。
バニラ JavaScript を使用する場合、開発者は次のように両方のプロパティを組み合わせて使用することでブラウザの互換性を確保できます。
<code class="js">var key = 'which' in e ? e.which : e.keyCode;</code>
このコードは、 .that がイベント オブジェクトで定義されているかどうかを確認します。存在する場合は、その値が使用されます。それ以外の場合は、.keyCode.
の使用に戻ります。または、より簡潔なアプローチを使用することもできます。
<code class="js">var key = e.which || e.keyCode || 0;</code>
この式は、.that を復元することで .that が 0 になる可能性を処理します。 JavaScript の強力な論理 OR 演算子 (||) を利用して、最後に値を追加します。
以上が`.keyCode` と `.that`: 最適なキー押下イベント キー識別子はどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。