JavaScript プログラムはどのようにして電話キーの値を取得しますか?

WBOY
リリース: 2023-05-12 10:53:06
オリジナル
600 人が閲覧しました

人々の生活におけるスマートフォンの普及に伴い、ますます多くの Web サイトやアプリケーションがモバイル デバイスに適応し始めています。モバイル端末では、ユーザーの入力方法も従来のコンピューターとは異なります。大きな違いの 1 つは入力方法です。 Web ページやアプリケーションでは、モバイル デバイス上でユーザー入力を処理し、正しいキー値を取得する方法が重要な問題となっています。

JavaScript は、フロントエンド アプリケーションで広く使用されている一般的に使用されるプログラミング言語です。モバイル HTML5 開発プロセスでは、ほとんどのユーザー入力を処理してフィルタリングする必要があります。したがって、モバイル デバイスでキーボード入力を取得する方法を学習することが重要な作業になります。

一般に、コンピュータでは、イベント リスニングを通じてユーザー入力情報を取得します。モバイル デバイスでユーザーのキーボード入力情報を取得するには、次のメソッドを使用できます。

  1. KeyboardEvent

デスクトップ ブラウザでは、通常、キーボード イベント モニタリングを使用します。キーボードの文字やファンクション キーなどのユーザーのキー値を取得します。同様に、モバイルデバイスでも同様の方法で実現できます。

JavaScript では、Window オブジェクトに「keydown」というイベント リスナーがあり、押されたキーの値を返すことができます。このイベントを使用して、モバイル デバイスでのユーザーのキーストロークを監視できます。

window.addEventListener('keydown', function(event) {
  console.log(event.key);
});
ログイン後にコピー
ログイン後にコピー

ユーザーがモバイル デバイスのキーを押すと、このイベントがトリガーされ、押されたキーの値がコンソールに出力されます。この値は、さまざまな論理的判断やデータ処理に簡単に使用できます。

ただし、場合によっては、さらにキー値の情報を取得する必要がある場合があります。モバイル デバイス上のキーボード イベント オブジェクトはデスクトップ ブラウザのものとは異なることに注意してください。モバイル デバイスでは、キーボード イベント オブジェクトには、Alt、Shift、または Ctrl キーが押されたかどうか、ファンクション キーが押されたかどうかなど、より多くのプロパティが含まれています。

したがって、これらの追加のキー値情報を取得する必要がある場合は、キーボード イベント オブジェクトによって提供される他のプロパティを使用できます。たとえば、 code 属性を使用して、キーに対応するキー コードを取得できます。

window.addEventListener('keydown', function(event) {
  console.log(event.code);
});
ログイン後にコピー

このコードを使用すると、コンソールによって出力される情報で、押されたキーのキー コードを確認できます。このキーコードは、押されたキーに対応する仮想キーの値を表す番号です。この値はキーボード間で一意であり、ユーザーの入力言語やキーボード レイアウトには依存しません。

さらに、KeyEvent の他のプロパティを使用して、他のキーボード イベント情報を取得することもできます。たとえば、event.key を使用して、キーボード イベントに対応する文字を取得できます。

window.addEventListener('keydown', function(event) {
  console.log(event.key);
});
ログイン後にコピー
ログイン後にコピー

モバイル デバイスでは、キーボード イベント オブジェクトは、ユーザーの入力方法と現在のロケールに応じて異なる文字を返す場合があります。したがって、正しい文字を取得するには、event.key プロパティを使用して取得する必要があります。

  1. 入力イベント

キーボード イベントの使用に加えて、入力イベントを使用してモバイル デバイス上のユーザー入力を監視することもできます。キーボード イベントとは異なり、入力イベントは、手書き入力や音声入力などのユーザー入力を監視するために使用できます。

var inputElement = document.getElementById('input-element');

inputElement.addEventListener('input', function(event) {
  console.log(event.target.value);
});
ログイン後にコピー

このコードは、input イベントを使用して、input 要素の入力を監視し、ユーザーがコンソールに入力した値を出力します。イベント ハンドラー関数では、event.target を使用して、入力されている要素オブジェクトを取得し、入力ボックスの値を取得できます。

iOS と Android では入力イベントが若干異なることに注意してください。 iOS では、入力が完了するまで入力イベントは発生しません。 Android では、ユーザーが入力すると入力イベントがトリガーされる場合があります。

  1. Touch イベント

モバイル デバイスでユーザー入力を取得するもう 1 つの方法は、Touch イベントを使用することです。タッチ イベントは、モバイル デバイス上のタッチ操作を監視するために特別に設計されたイベント タイプです。 Web サイトまたはアプリケーションがジェスチャー入力とタッチ操作をサポートする必要がある場合は、タッチ イベントを使用するのが良い方法です。

JavaScript では、touchstart イベントと touchend イベントを使用して、ユーザーが指で入力デバイスに触れたときに押す操作と放す操作を取得できます。ユーザーが長押ししていることを検出する必要がある場合は、touchmove イベントを使用してユーザーの操作をキャプチャし、指が同じ位置にあるかどうかを判断できます (これは通常、長押し操作を示します)。

var touchElement = document.getElementById('touch-element');

touchElement.addEventListener('touchstart', function(event) {
  console.log('Touch started');
});

touchElement.addEventListener('touchend', function(event) {
  console.log('Touch ended'); 
});

touchElement.addEventListener('touchmove', function(event) {
  if (event.touches.length == 1) {
    console.log('Long press detected');
  }
});
ログイン後にコピー

このコードでは、touchstart、touchend、touchmove イベントを使用してユーザーの指のタッチ操作を検出します。ユーザーが指を押すか離すと、コンソールは「タッチ開始」および「タッチ終了」を出力し、ユーザーが長押しすると、コンソールは「長押し検出」を出力します。

タッチ イベントを使用してキーボード入力情報をキャプチャする方法は比較的少数であり、それらはジェスチャ入力を必要とする一部の特定のシナリオにのみ適していることに注意してください。

概要

これまで見てきたように、モバイル デバイスでキーボード入力情報を取得するにはさまざまな方法があります。キーボード イベント、入力イベント、タッチ イベントを使用して、対応する操作を完了できます。

ただし、モバイル デバイスでキーボード入力情報を取得する方法はデスクトップよりも複雑であることに注意してください。キーボード イベントとタッチ イベントは、モバイル デバイスやブラウザ環境によって動作が異なる場合があります。したがって、モバイル デバイスにキーボード入力機能を実装する場合は、コードの互換性、信頼性、使いやすさを確保するために、十分なテストとデバッグ作業を行う必要があります。

さらに、キーボード入力機能を実装する過程では、セキュリティの問題も考慮する必要があります。 JavaScript スクリプトは自由にアクセスして変更できるため、ユーザーが入力した情報はデータの改ざんや盗難を防ぐために慎重に扱う必要があります。ベスト プラクティスは、サーバー側でユーザー入力を検証およびフィルタリングして、Web サイトとアプリケーションのセキュリティと信頼性を向上させることです。

以上がJavaScript プログラムはどのようにして電話キーの値を取得しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!