이벤트 위임은 단일 이벤트 리스너를 사용하여 여러 하위 요소에 대한 이벤트를 처리하는 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); } });
이벤트 위임을 마스터하면 대화형 웹 애플리케이션을 위한 더욱 깔끔하고 효율적인 JavaScript 코드를 작성할 수 있습니다.
안녕하세요. 저는 Abhay Singh Kathayat입니다!
저는 프론트엔드와 백엔드 기술 모두에 대한 전문 지식을 갖춘 풀스택 개발자입니다. 저는 효율적이고 확장 가능하며 사용자 친화적인 애플리케이션을 구축하기 위해 다양한 프로그래밍 언어와 프레임워크를 사용하여 작업합니다.
제 비즈니스 이메일(kaashshorts28@gmail.com)로 언제든지 연락주세요.
위 내용은 JavaScript로 이벤트 위임 익히기: 이벤트 처리 단순화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!