1. イベント委任とは何ですか?イベント委譲: イベントバブリングの特性を利用して、子要素に登録すべき処理イベントを親要素に登録します。これにより、子要素がクリックされたときに、それ自身に対応するイベントがないことが判明した場合、親要素が検索され、応答されます。これを行う利点は次のとおりです。
2. イベント委任の原則イベント委任は、イベント バブリング原則を使用して実装されます。イベント バブリングとは何ですか?つまり、イベントは最も深いノードから始まり、段階的に上方に伝播します。 3. イベント委任の実施ケースを通じてイベント委任を実装します。 構造レイヤー + スタイル レイヤー コード: <スタイル> * { マージン: 0; パディング: 0; } ul { フロート: 左; 幅: 800ピクセル; 上マージン: 50px; } ul li { リストスタイル: なし; フロート: 左; 幅: 200ピクセル; 高さ: 200px; 境界線: 1px実線 #000; 右マージン: 20px; } ul li:最初の子 { 左マージン: 20px; } </スタイル> <本文> <ul id="リスト"> <li>1</li> <li>2</li> <li>3</li> </ul> </本文> 3.1 方法1: ループしてイベントを追加するイベント委任を使用せず、for ループを使用してクリック イベントを追加すると、メモリ消費量が多くなります。 var oList = document.getElementById('list'); var lis = oList.getElementsByTagName('li'); (var i = 0; i < lis.length; i++) の場合 { lis[i].onclick = 関数(){ this.style.backgroundColor = '赤'; } } 3.2 方法2: イベント委任の使用イベント委任を使用します。 var oList = document.getElementById('list'); oList.onclick = 関数 (e) { e.target.style.backgroundColor = '赤'; } この場合、e.target はユーザーが実際にクリックした要素を表します。 これで、JavaScript を使用してイベント リスナーをイベント委任に一括で追加する詳細なプロセスに関するこの記事は終了です。JavaScript イベント委任に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Docker ビルド PHP 環境チュートリアル詳細説明
>>: HTML テーブル マークアップ チュートリアル (16): タイトルの水平方向の配置属性 ALIGN
ごみ箱機能をオンにすると、削除されたファイルの元のデータをタイムアウトなしで復元できるため、誤って削...
Linux の ps コマンドは Process Status の略です。 ps コマンドは、システ...
インデックスの2つの主要なカテゴリ使用されるストレージエンジン: MySQL 5.7 InnoDBク...
ReactとはReact は、効率的で高速なユーザー インターフェイスを構築するためのシンプルな J...
1. DockerはローカルディレクトリをマウントしますDocker は、ホスト上のディレクトリをイ...
SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...
簡単なレビュー: ブラウザの互換性の問題は、しばしば頭痛の種となります。ここでは、これらの問題を回避...
HTML における相対と絶対の違い: 正直に言うと、HTML は世界で最もシンプルな言語です。タグ言...
物理的に言えば、InnoDB テーブルは、共有テーブルスペース ファイル (ibdata1)、排他テ...
HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...
この記事では、1行あたりの固定行数+アダプティブレイアウトを実現するフレックスレイアウトを紹介し、皆...
この学習ノートの最初の記事として、シリーズの他の記事と同様に、Bootstrap の紹介から始め、そ...
序文Deepin のユーザー インターフェイスは、使用時に非常に見栄えがします。インターフェイス効果...
データベース インデックスは、テーブル操作の速度を向上させることを目的としたデータ構造です。高速なラ...
基礎1. スキャフォールディングを使用してプロジェクトを作成し、開始する1.1 足場を設置する: n...