ホームページ ウェブフロントエンド jsチュートリアル js でのクリック イベントと一般的に使用されるイベントの概要 (PC およびモバイル)

js でのクリック イベントと一般的に使用されるイベントの概要 (PC およびモバイル)

Aug 07, 2018 am 10:10 AM

1. クリック イベント:

PC 側のクリック イベントですが、モバイル プロジェクトでは、クリックの動作とダブルクリックの動作を区別することがよくあります。したがって、モバイルブラウザは、クリックを識別するとき、クリックであることが確認された後にのみ実行されます。モバイル端末でクリックを使用する場合、300ミリ秒の遅延が発生します。最初のクリックが完了した後、ブラウザは待機する必要があります。 2 回目のクリックがトリガーされたかどうかを確認するために 300 ミリ秒。2 回目のクリックがトリガーされた場合はクリックに属しません。ただし、シナリオによってはこれが必要です。遅延をキャンセルするには:

(1) 静止ズーム: 目標を達成するには、この方法を使用してスケーリングを完全に無効にする必要があります。ほとんどのモバイル端末ではこの遅延の問題を解決できますが、一部の Apple 携帯電話ではまだ解決できません。 ; height - ビューポートの高さ、initial-scale - 最小スケール - ユーザーがズームできる最小比率、 user-scalable - ユーザーが手動でズームできるかどうか

 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
ログイン後にコピー
(2) fastclick.js: FastClick は、モバイル ブラウジングを解決するために特別に設計された FT Labs です。300 ミリ秒のクリック遅延の問題を解決するために開発された軽量ライブラリです。つまり、FastClick はタッチエンド イベントを検出すると、DOM カスタム イベントを通じてシミュレートされたクリック イベントを即座にトリガーし、300 ミリ秒後にブラウザーによって実際にトリガーされるクリック イベントをブロックします。 ステップ 1: ページ上で fastclick を導入します。 jsファイル。 ステップ 2: 次のコードを js ファイルに追加します。ウィンドウの読み込みイベントの後、本文で FastClick.attach() を呼び出します。

window.addEventListener(function(){   
    FastClick.attach( document.body );  
},false );
ログイン後にコピー

プロジェクトで JQuery を使用している場合は、上記のコードを次のように書き換えます:

$(function() {    
    FastClick.attach(document.body);    
});
ログイン後にコピー

モバイル側のクリック イベントを置き換えます:


(1) touchstart を使用します: touch イベントには touchstart、touchend、touchmove などが含まれます。 touchstart を使用して click を置き換えますが、問題は、クリック イベントとスライド イベントを同じオブジェクトにバインドしたい場合、指が要素をクリックするとモバイル側で競合が発生することです。通過します: touchstart -- > touchmove -> touchend -->click

タッチ イベント モデル:

機能

タッチムーブタッチエンドタッチキャンクル特別な状況下で閉店/終了するときにトリガーされます属性名
タッチスタート 画面を指で押します
画面上で指をスワイプします
画面から指を離してください

タッチイベントの属性:

機能

ターゲットpreventDefault(returnValue)伝播を停止(バブルをキャンセル)touches[0].clientXタッチが変わりました

(2) タップイベント: 標準イベントにはタップイベントはありません。タップイベントは、タッチを使用して、時間と指の位置が記録され、タッチエンドで比較されます。指の位置が同じで時間間隔が短く、プロセス中に touchmove イベントがトリガーされない場合、コールバック関数は 300ms 後にも生成されますが、その時点では監視は行われません。オブジェクトが表示され、「クリックスルー」現象が発生します。 1) ページ上にモーダル ボックスが表示されます。モーダル ボックス上にボタンがあり (モーダル ボックスを閉じます)、ボタンのすぐ下に入力ボックスがあります。メイン ページ); 2) モーダル ボックスの閉じるボタンをクリックすると、モーダル ボックスはすぐに消えますが、クリック イベントは 300 ミリ秒後にトリガーされ、入力ボックスはたまたまクリック イベントをリッスンするため、入力ボックスはフォーカスを取得

PC でよく使用されるイベント:

タイプ イベントタイプ
イベントソース
デフォルトの動作をブロックする
事件の拡大を阻止してください
タッチ位置のx値
現在値と左値
イベント名 機能
クリック マウスをクリックすると起動します
マウスオーバー マウスポインタが要素上を移動すると発生します
マウスアウト マウスポインタが要素の外に移動すると発生します
マウスエンター マウスポインタが要素上を移動するとトリガーされます(バブリングはサポートされていません)
マウス離れる マウスポインターが要素の外に移動するとトリガーされます (バブリングはサポートされていません)
マウス移動 マウスポインタが要素上を移動すると発生します
マウスダウン 要素上でマウスボタンが押されたときに発生します
マウスアップ 要素上でマウスボタンが離されたときに発生します
マウスホイール マウスホイールのスクロール時に実行されるスクリプト
キーダウン ユーザーがキーを押すと起動します
キーアップ ユーザーがキーを放したときに起動します
ロード ページの読み込みが完了した後にトリガーされます
スクロール 要素のスクロールバーがスクロールされたときに実行されるスクリプト
ぼかし 要素がフォーカスを失ったときに実行されるスクリプト
集中 要素がフォーカスを取得したときに実行されるスクリプト
変更 要素の値が変更されたときに実行されるスクリプト

モバイル端末でよく利用されるイベント:

イベント名 機能
クリック クリックすると発火します(クリック)
ロード ページの読み込みが完了した後にトリガーされます
スクロール 要素のスクロールバーがスクロールされたときに実行されるスクリプト
ぼかし 要素がフォーカスを失ったときに実行されるスクリプト
集中 要素がフォーカスを取得したときに実行されるスクリプト
変更 要素の値が変更されたときに実行されるスクリプト
入力 キーアップとキーダウンを置き換えます
タッチイベントモデル 一本指操作の処理
ジェスチャーイベントモデル 複数の指での操作の処理
関連する推奨事項:

ネイティブ JS を使用してタップ イベントをカプセル化し、モバイル側での 300 ミリ秒の遅延を解決します

JavaScript モバイル イベントの基礎と一般的に使用されるイベント ライブラリの概要を詳しく紹介します

以上がjs でのクリック イベントと一般的に使用されるイベントの概要 (PC およびモバイル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? Mar 18, 2025 pm 03:14 PM

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:16 PM

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:17 PM

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? Apr 04, 2025 pm 05:09 PM

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Console.log出力の違い結果:なぜ2つの呼び出しが異なるのですか? Apr 04, 2025 pm 05:12 PM

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...

See all articles