イベント委任 は、単一のイベント リスナーを使用して複数の子要素のイベントを処理する JavaScript の手法です。このアプローチでは、イベント バブリングを利用して、動的に作成された要素または複数の同様の要素を処理する際のパフォーマンスを向上させ、コードを簡素化します。
イベント リスナーを個々の子要素にアタッチする代わりに、単一のリスナーを親要素にアタッチします。このリスナーは、その子から湧き出るイベントをキャッチします。
<ul> <h4> <strong>JavaScript</strong> </h4> <pre class="brush:php;toolbar:false">const menu = document.getElementById("menu"); menu.addEventListener("click", function(event) { if (event.target.tagName === "LI") { console.log("Clicked item:", event.target.textContent); } });
イベント委任は、動的に追加された要素のイベントを管理するのに最適です。
const menu = document.getElementById("menu"); // Adding a new item dynamically const newItem = document.createElement("li"); newItem.textContent = "Blog"; menu.appendChild(newItem); // No need to add a new event listener menu.addEventListener("click", function(event) { if (event.target.tagName === "LI") { console.log("Clicked item:", event.target.textContent); } });
stopPropagation() または特定の条件を使用して、イベント処理を制限します。
<ul> <h4> <strong>JavaScript</strong> </h4> <pre class="brush:php;toolbar:false">const menu = document.getElementById("menu"); menu.addEventListener("click", function(event) { if (event.target.tagName === "LI") { console.log("Clicked item:", event.target.textContent); } });
const menu = document.getElementById("menu"); // Adding a new item dynamically const newItem = document.createElement("li"); newItem.textContent = "Blog"; menu.appendChild(newItem); // No need to add a new event listener menu.addEventListener("click", function(event) { if (event.target.tagName === "LI") { console.log("Clicked item:", event.target.textContent); } });
menu.addEventListener("click", function(event) { if (event.target.tagName === "LI") { console.log("Clicked item:", event.target.textContent); } else { event.stopPropagation(); // Stop propagation for non-LI elements } });
<table> <pre class="brush:php;toolbar:false">const table = document.getElementById("dataTable"); table.addEventListener("click", function(event) { if (event.target.tagName === "TD") { console.log("Clicked cell:", event.target.textContent); } });
イベント委任をマスターすることで、対話型 Web アプリケーション用のよりクリーンで効率的な JavaScript コードを作成できます。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がJavaScript でのイベント委任をマスターする: イベント処理を簡素化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。