ホームページ >ウェブフロントエンド >jsチュートリアル >`.keyCode` と `.that`: 最適なキー押下イベント キー識別子はどれですか?

`.keyCode` と `.that`: 最適なキー押下イベント キー識別子はどれですか?

DDD
DDDオリジナル
2024-10-30 06:49:28685ブラウズ

  `.keyCode` vs. `.which`: Which is the Best Keypress Event Key Identifier?

キープレス イベント キーの識別: .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 サイトの他の関連記事を参照してください。

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