jQuery에서 동적 HTML에 대한 이벤트 처리
동적으로 로드된 HTML을 처리할 때 새로 생성된 요소에 클릭 이벤트를 추가하는 것은 어려운 일입니다. 이 문서에서는 이 문제를 살펴보고 live() 메서드on()
메서드를 사용하는 솔루션을 제공합니다. >문제 설명:
다음을 사용하여 HTML 콘텐츠를 동적으로 로드할 때$('#parent').load("http://...")** 하위 요소에 클릭 이벤트를 추가하려고 시도했지만 **$('#parent').click(.. .) 또는 $('#child').on('click', ...)**은 이벤트를 등록합니다. 이 문제는 **$('#child')가 동적 로딩 이전에 존재하지 않았던 요소를 나타내기 때문에 발생합니다.
해결책:
효율적으로 동적으로 로드된 요소에 대한 클릭 이벤트를 처리하는 경우 이벤트 위임이 사용됩니다. 이 접근 방식에는 동적으로 변경되지 않는 상위 요소에 이벤트를 바인딩하고 대상 하위 요소와 일치하는 선택기를 지정하는 작업이 포함됩니다.$('#parent').on("click", "#child", function() {});이 시나리오에서 클릭 이벤트 핸들러는
# 부모 요소. #child 요소 내에서 클릭이 발생하면 이벤트가 #parent까지 버블링됩니다. 이벤트 핸들러는 이벤트 대상을 확인하고 #child 선택자와 일치하면 클릭 핸들러가 실행됩니다.
설명:
이것은 위임 접근 방식은 하위 요소가 존재하기 전에 이벤트 핸들러를 상위 요소에 연결할 수 있으므로 효과적입니다. 결과적으로 하위 요소가 로드되고 클릭되면 이벤트가 상위 요소로 전파되고 클릭 핸들러는 해당 하위 요소에 대해 특별히 트리거됩니다.이벤트 위임의 이점:
위 내용은 jQuery의 `on()` 메소드가 동적으로 로드된 HTML 요소의 클릭 이벤트를 어떻게 효과적으로 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!