ホームページ ウェブフロントエンド jsチュートリアル JavaScript でのイベント委任 (画像とテキストのチュートリアル)

JavaScript でのイベント委任 (画像とテキストのチュートリアル)

May 19, 2018 pm 02:53 PM
javascript js チュートリアル

この記事では、主に JavaScript でのイベント委任の詳細な説明に関する関連情報を紹介します。必要な友人は参照してください。

最近のインタビューで、おそらく 1000 li にクリック イベントを追加するように求められた質問を見ました。ほとんどの人の第一印象は、各リに 1 つ追加することです。これは、イベントのバブリングとキャプチャのメカニズムを撤回するためであると推測されます。イベント委任メカニズムについて見てみましょう

まず、イベント バブリングとイベント キャプチャのメカニズムについて説明します。当時、イベント バブリングは Netscape によって提案されました。その後、w3c はイベントが生成された後、まずキャプチャしてからバブルするという妥協的な方法を採用せざるを得ませんでした。 通常、js でイベントを監視する方法は 3 つあります。 ele.addEventListener(type,listener,[useCapture]);//IE6~8は未対応

ele.attachEvent('on'+type,listener);//IE6~10は未対応、IE11

をサポートしていません ele.onClick=function(){};//すべてのブラウザは

をサポートしています w3c 仕様では、キャプチャ ステージ、ターゲット ステージ、バブリング ステージの 3 つのイベント ステージが定義されており、w3c dom2 レベルの規則では、イベントをリッスンするために addEventListener が使用されます。そのため、addEventListener を使用して説明します。最初に、偽の泡は、水に石を投げると水の中の泡が下から上に上がるのと同じです。これはトリガーを意味します。イベントは子要素から親要素の方向にトリガーされますが、キャプチャ メカニズムはその逆で、親要素から子要素にイベントをトリガーし、 の 3 番目のパラメーターをトリガーします。 addEventListener 関数は、キャプチャ メカニズムを使用するか、useCapture が true の場合はバブリング メカニズムであるかを決定するために使用されます。 useCapture が false の場合、それはバブリング メカニズムです。

コードをコピー

<p class="parent">
  <p class="child">

  </p>
</p>
<script>
  var parent = document.getElementsByClassName(&#39;parent&#39;)[0];
  var child = document.getElementsByClassName(&#39;child&#39;)[0];

  parent.addEventListener(&#39;click&#39;,function(){
    console.log("这里是父元素");
  },false);
  child.addEventListener(&#39;click&#39;,function(){
    console.log("这里是子元素");
  },false);
</script>
ログイン後にコピー

子要素をクリックすると、上の図が表示されます。 false を true に変更すると、これがイベントのバブリングとの違いです。このバインディング メカニズムを使用する欠点は、イベントを各オブジェクトにバインドする必要があり、イベントを削除する場合に特に面倒になることです。さらに重要なのは、JavaScript と DOM ノードの間に相関関係を追加したことです。さらに、循環参照が発生するとメモリ リークが発生する可能性があります。したがって、この欠点を解決する 1 つの方法があります。イベント委任を使用すると、各ノードにイベントを 1 つずつ追加する必要がなく、親要素のリッスン関数がイベントをトリガーした子要素を自動的に決定します。イベントをトリガーできるように、li ノードごとに li ノードの内容が出力されます。これらの li を選択し、これらのメソッドを追加します。必要がなくなったら削除してください。100 li や 1000 li がある場合、より良い解決策は、親要素に listen イベントを追加することです。イベント内で、現在のイベントのターゲットを判断して、それが探しているノードであるかどうかを判断できます。ここでは簡単な例を示します。

<ul id="parent-list">
  <li id="post-1">Item 1</li>
  <li id="post-2">Item 2</li>
  <li id="post-3">Item 3</li>
  <li id="post-4">Item 4</li>
  <li id="post-5">Item 5</li>
  <li id="post-6">Item 6</li>
</ul>
ログイン後にコピー

クリック イベントが ul で発生したとき、addEventListener のデフォルトはバブリング イベント。リスニング イベントは、基になるイベントがトリガーされたときに実行され、それが探しているターゲット要素であるかどうかを検出します。そうでない場合は、無視されます。ターゲット要素のラベルが必要なターゲット要素であるかどうかを確認するだけでなく、ターゲット要素の属性またはクラス名に基づいて検出し、処理に API ele.maeches を使用することもできます。皆さんのためにまとめたものです。今後皆さんのお役に立てれば幸いです。

関連記事:

Vue.

jsmpvueフレームワークの開発手順を詳しく解説

js

とcssファイルの読み込みと削除の手順を詳しく解説

書き方不規則な多次元配列を走査する必要がある場合の JS

以上がJavaScript でのイベント委任 (画像とテキストのチュートリアル)の詳細内容です。詳細については、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Dewuの使い方のチュートリアル Dewuの使い方のチュートリアル Mar 21, 2024 pm 01:40 PM

Dewu APP は現在非常に人気のあるブランド ショッピング ソフトウェアですが、ほとんどのユーザーは Dewu APP の機能の使い方を知りません。最も詳細な使用方法のチュートリアル ガイドは以下にまとめられています。次に、エディターがユーザーに提供する Dewuduo の概要です。機能の使い方チュートリアルですので、興味のある方はぜひご覧ください! Dewu の使い方チュートリアル [2024-03-20] Dewu の分割購入方法 [2024-03-20] Dewu クーポンの入手方法 [2024-03-20] Dewu マニュアルのカスタマーサービスの検索方法 [2024-03- 20] デューのピックアップコード確認方法 [2024-03-20] デューの購入場所 [2024-03-20] デューのVIP開放方法 [2024-03-20] デューの返品・交換申請方法

推奨: 優れた JS オープンソースの顔検出および認識プロジェクト 推奨: 優れた JS オープンソースの顔検出および認識プロジェクト Apr 03, 2024 am 11:55 AM

顔の検出および認識テクノロジーは、すでに比較的成熟しており、広く使用されているテクノロジーです。現在、最も広く使用されているインターネット アプリケーション言語は JS ですが、Web フロントエンドでの顔検出と認識の実装には、バックエンドの顔認識と比較して利点と欠点があります。利点としては、ネットワーク インタラクションの削減とリアルタイム認識により、ユーザーの待ち時間が大幅に短縮され、ユーザー エクスペリエンスが向上することが挙げられます。欠点としては、モデル サイズによって制限されるため、精度も制限されることが挙げられます。 js を使用して Web 上に顔検出を実装するにはどうすればよいですか? Web 上で顔認識を実装するには、JavaScript、HTML、CSS、WebRTC など、関連するプログラミング言語とテクノロジに精通している必要があります。同時に、関連するコンピューター ビジョンと人工知能テクノロジーを習得する必要もあります。 Web 側の設計により、次の点に注意してください。

夏はぜひ虹を撮ってみてください 夏はぜひ虹を撮ってみてください Jul 21, 2024 pm 05:16 PM

夏の雨の後には、美しく魔法のような特別な天気の風景、虹がよく見られます。これも写真撮影ではなかなか出会えない光景で、とてもフォトジェニックです。虹が現れるにはいくつかの条件があります。まず、空気中に十分な水滴があること、そして、低い角度から太陽が当たることです。そのため、雨が上がった午後が最も虹が見えやすいのです。ただし、虹の発生は天候や光などの条件に大きく左右されるため、一般に虹の持続時間は短く、見頃や撮影に最適な時間はさらに短くなります。では、虹に遭遇したとき、どうすれば虹を適切に記録し、高品質の写真を撮ることができるでしょうか? 1. 虹を探す 上記の条件に加えて、虹は通常、太陽光の方向に現れます。つまり、太陽が西から東に輝いている場合、虹は東に現れやすくなります。

DisplayX (モニターテストソフトウェア) チュートリアル DisplayX (モニターテストソフトウェア) チュートリアル Mar 04, 2024 pm 04:00 PM

壊れたモニターを購入しないようにするには、購入時にモニターをテストすることが重要です。今日は、ソフトウェアを使用してモニターをテストする方法を説明します。方法ステップ 1. まず、この Web サイトで DisplayX ソフトウェアを検索してダウンロードし、インストールして開くと、ユーザーに提供されている多くの検出方法が表示されます。 2. ユーザーは、通常の完全テストをクリックします。最初のステップは、ディスプレイの明るさをテストすることです。ユーザーは、ボックスがはっきりと見えるようにディスプレイを調整します。 3. マウスをクリックして次のリンクに進み、モニターが黒と白の各領域を区別できれば、モニターはまだ良好であることを意味します。 4. マウスの左ボタンをもう一度クリックすると、モニターのグレースケール テストが表示されます。色の変化がスムーズであればあるほど、モニターの品質は向上します。 5. さらに、displayx ソフトウェアでは、

WeChat の支払い音をオフにする方法のチュートリアル WeChat の支払い音をオフにする方法のチュートリアル Mar 26, 2024 am 08:30 AM

1. まずWeChatを開きます。 2. 右上隅の[+]をクリックします。 3. QR コードをクリックして支払いを受け取ります。 4. 右上隅にある 3 つの小さな点をクリックします。 5. クリックして支払い到着の音声リマインダーを閉じます。

photoshoppcs5とはどんなソフトですか? -photoshopcs5の使い方チュートリアル photoshoppcs5とはどんなソフトですか? -photoshopcs5の使い方チュートリアル Mar 19, 2024 am 09:04 AM

PhotoshopCS は Photoshop Creative Suite の略で、Adobe 社が開発したソフトウェアで、グラフィック デザインや画像処理に広く使用されています。PS を学習する初心者として、今日は photoshopcs5 とはどのようなソフトウェアなのか、そして photoshopcs5 の使い方を説明しましょう。 1. photoshop cs5 とはどのようなソフトウェアですか? Adob​​e Photoshop CS5 Extended は、映画、ビデオ、マルチメディア分野の専門家、3D やアニメーションを使用するグラフィックおよび Web デザイナー、エンジニアリングおよび科学分野の専門家に最適です。 3D イメージをレンダリングし、それを 2D 合成イメージに結合します。動画を簡単に編集

専門家が教える! Huawei携帯電話で長い画像をカットする正しい方法 専門家が教える! Huawei携帯電話で長い画像をカットする正しい方法 Mar 22, 2024 pm 12:21 PM

スマートフォンの継続的な発展に伴い、携帯電話の機能はますます強力になり、その中でも長時間の写真を撮る機能は、多くのユーザーが日常生活で使用する重要な機能の1つになりました。長いスクリーンショットは、ユーザーが長い Web ページ、会話記録、または写真を一度に保存して、簡単に表示したり共有したりできるようにするのに役立ちます。数ある携帯電話ブランドの中でも、ファーウェイの携帯電話はユーザーから高く評価されているブランドの一つでもあり、長い写真のトリミング機能も高く評価されています。この記事では、ファーウェイの携帯電話で長い写真を撮る正しい方法と、ファーウェイの携帯電話をより良く活用するための専門的なヒントを紹介します。

PHP チュートリアル: int 型を string に変換する方法 PHP チュートリアル: int 型を string に変換する方法 Mar 27, 2024 pm 06:03 PM

PHP チュートリアル: Int 型を文字列に変換する方法 PHP では、整数データを文字列に変換するのが一般的な操作です。このチュートリアルでは、PHP の組み込み関数を使用して int 型を文字列に変換する方法を、具体的なコード例を示しながら紹介します。キャストを使用する: PHP では、キャストを使用して整数データを文字列に変換できます。この方法は非常に簡単で、整数データの前に(文字列)を追加するだけで文字列に変換できます。以下は簡単なサンプルコードです

See all articles