jQuery의 on() 이벤트 핸들러에 대한 수정 사항 찾기
jQuery에서 이벤트 처리를 위해 live()에서 on()으로 전환 화제가 되기도 했습니다. on() 이벤트 핸들러가 트리거되지 않는 문제가 사용자에게 발생했습니다. 이 문제를 해결하기 위해 문제를 자세히 조사하고 해결책을 찾아보겠습니다.
on()에 대한 문서에는 코드가 실행될 때 이벤트 핸들러가 페이지에 존재하는 요소에만 바인딩된다는 것이 명확하게 명시되어 있습니다. 이는 페이지에 동적으로 추가된 요소에 이벤트 핸들러를 첨부한 live()의 동작과 완전히 대조됩니다.
live()와 유사한 기능을 얻으려면 다음 패턴을 사용해야 합니다.
$(document.body).on('change', 'select[name^="income_type_"]', function() { alert($(this).val()); });
이 접근 방식은 이벤트 핸들러를 기존 요소뿐만 아니라 향후 추가될 요소에도 바인딩합니다. 최적의 성능을 위해서는 이벤트 핸들러를 대상 요소에 최대한 가깝게 바인딩하는 것이 중요합니다.
요약하자면, live()에서 on()으로 전환할 때 동적으로 추가된 요소를 이벤트 핸들러에 바인딩하는 것이 중요합니다. 드롭다운 목록에 있는 것과 같습니다. 이렇게 하면 코드가 예상대로 작동하고 사용자 상호 작용에 효과적으로 응답할 수 있습니다.
위 내용은 내 jQuery on() 이벤트 핸들러가 동적으로 추가된 요소에서 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!