메소드를 사용할 때 동일한 ID를 공유하는 요소와 함께 발생하는 문제를 해결합니다. 핵심 문제는 동일한 ID를 가진 여러 요소가 HTML 표준을 위반하고 예측할 수없는 동작을 초래한다는 것입니다. 최상의 솔루션은 중복 ID를 모두 피하는 것입니다. 그러나 레거시 코드 또는 ID를 즉시 변경할 수없는 상황이있는 경우 상황을 처리하는 방법은 다음과 같습니다.
bind()
선호하는 솔루션 : 클래스 사용
그런 다음 클래스 선택기를 사용하여 이벤트를 바인딩하십시오
효율성을 위해 선택기를 결합
<div class="my-element" id="uniqueID1">...</div> <div class="my-element" id="uniqueID2">...</div>
기본값을 방지하고 전파 중지
$('.my-element').bind('click', function() { // Your code here });중복 요소의 의도하지 않은 작업을 방지하려면 이벤트 핸들러 내에서
및 를 사용하십시오. 주소
문제첫 번째 요소에 클래스를 적용하는 문제는 ID 선택기 때문일 수 있습니다. ID는 고유해야하므로
ITERATES이지만 선택기는 항상 첫 번째 일치 요소를 찾습니다. 수업을 사용하면이 문제가 피할 수 있습니다.(function(document, $){ $(document).bind('DOMNodeInserted', function (event) { var duplicates = []; $('[id]').each(function() { if ($(`[id="${this.id}"]`).length > 1) { duplicates.push(this.id); } }); if (duplicates.length > 0) { console.warn('Duplicate IDs detected:', duplicates); } }); })(document, jQuery);
jQuery DOMNodeInserted 및 faqs
는 처음에 현재 존재하는 요소에 대해 작동하지만 동적으로 추가 된 요소의 경우 가 선호됩니다. FAQS 섹션은 jQuery 이벤트 처리에 대한 유용한 요약, 여러 이벤트, 풀림 및 사용자 정의 이벤트를 제공합니다. 주요 테이크 아웃은 이벤트 바인딩을 위해 클래스 사용 우선 순위를 정하고 가능할 때마다 중복 ID를 피하는 것입니다.
위 내용은 동일한 ID를 가진 jQuery bind () 요소입니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!