1. イベント委任とは何ですか?イベント委任はイベント プロキシとも呼ばれます。イベントバブリングを使用して、子要素のすべてのイベントを親要素にバインドします。子要素がイベントのバブルを妨げる場合、委任は実現できません。 以下に簡単な例を示します。 たとえば、宅配業者が 100 人の学生に 100 個の荷物を配達する場合、荷物を 1 つずつ配達するには長い時間がかかります。同時に、各生徒がそれを受け取るために列に並ぶ必要があり、時間がかかります。どのようにすればよいでしょうか?この時点で、宅配業者は 100 個の速達小包をクラスの先生に託すことができ、先生はそれを事務室に置き、生徒は授業後に受け取ることができます。この方法により、宅配業者は時間を節約でき、学生にとっても荷物を受け取るのがより便利になります。このプロセスは委任イベントです。 2. イベント委任の原則各子ノードに個別イベント リスナーを設定する代わりに、イベント リスナーを親ノードに設定し、バブリング原理を使用して各子ノードの設定に影響を与えます。 具体的なプログラムでどのように実装されているか見てみましょう。 コードは次のようになります。 <本文> <ul> <li>111111</li> <li>222222</li> <li>333333</li> <li>444444</li> <li>555555</li> </ul> <スクリプト> var li = document.querySelectorAll('li'); for(var i=0;i<li.length;i++){ li[i].onclick = 関数(){ this.style.color = '緑'; } } </スクリプト> </本文> 実行結果は次のとおりです。 この方法は確かにクリック操作を実現できますが、このプロセスではクリック イベントを毎回 li に追加する必要があるため、DOM アクセスが多すぎて、ページ全体のインタラクション準備時間が長くなります。 したがって、ここではイベント委任を使用できます。つまり、ul のクリック イベントを登録し、イベント オブジェクトのターゲットを使用して、現在クリックされている li を検索します。li がクリックされると、イベントが ul にバブルされ、ul に登録されたイベントがある場合は、イベント リスナーがトリガーされます。 実装コードは次のとおりです。 <スクリプト> var ul = document.querySelector('ul'); ul.addEventListener('クリック',function(e){ e.target.style.color = 'オレンジ'; }) </スクリプト> 実行結果は次のとおりです。 正常に表示されました。 3. イベント委託の役割上記の操作により、イベント委任では DOM を 1 回だけ操作するため、プログラムのパフォーマンスが大幅に向上します。 JavaScript イベント委任の原則に関するこの記事はこれで終わりです。JavaScript イベント委任に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。皆様が今後とも 123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: CSS3 で transform を使用した場合のフォントぼかしの解決方法の詳細な説明
>>: VirtualBox の仮想ディスク vdi ファイルの容量を拡張する方法 (グラフィック チュートリアル)
目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...
MySQL 5.7.18 のインストールと問題の概要。今日、新しい MySQL サーバーを導入しまし...
この記事では、指定された赤い封筒の順序と金額を実装するためのjsの具体的なコードを共有します。具体的...
HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...
さっそく、コードをお見せしましょう。コードは非常にシンプルなので、勉強すれば理解できるようになります...
目次1. 概要1.1 querySelector() と querySelectorAll() の使...
この記事の例では、ログインページを実装するためのlayuiの具体的なコードを参考までに共有しています...
背景会社のサブプロジェクトが増えるにつれて、さまざまなサイズのプロジェクトが10個以上になります(バ...
目次空の文字列 '' と null を比較するケース1: 空の文字列を使用する ...
目次cloneElementの役割使用シナリオ新しい小道具を追加するプロップを変更するイベントカスタ...
この記事の例では、計算機機能を実装するためのミニプログラムの具体的なコードを参考までに共有しています...
カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...
1. 背景通常、外部サービスを提供する必要がある Docker コンテナの場合、起動時に -p コマ...
原因docker スクリプトを実行すると、コンテナを作成できないというエラーが発生します。以下のよう...
1. 事件の背景:仕事上、Ubuntu への vscode リモート接続を使用する必要があります。 ...