반응형
jQuery를 사용하여 동적으로 추가된 요소에 이벤트 수신기 추가
그래서 지금은 동적으로 추가된 요소에 이벤트 리스너를 첨부하려면 요소를 추가한 후 리스너를 다시 정의해야 한다는 것을 알고 있습니다.
추가 코드 블록 전체를 실행할 필요가 없도록 우회할 수 있는 방법은 없습니까?
를 사용하면 함수를 한 번 정의할 수 있으며 동적으로 추가된 모든 요소에 대해 실행됩니다.
예를들면
$('#staticDiv').on('click', 'yourSelector', function() {
//do something
});
$(document).on('click', 'selector', handler);
어디에click는 이벤트 이름이며,handler는 함수 또는 익명 함수에 대한 참조와 같은 이벤트 핸들러입니다.function() {}
PS: 동적 요소를 추가하려는 특정 노드를 알고 있다면 대신 지정할 수 있습니다.document.
페이지 로드에 적용된 수신기를 사용할 수 없도록 동적으로 요소를 생성하고 있습니다.정확한 해결책을 가지고 당신의 장난을 편집했습니다.기본적으로 jQuery는 이벤트를 상위 요소에 연결하고 동적으로 생성된 올바른 요소에 아래로 전파하여 나중에 바인딩할 수 있도록 이벤트를 유지합니다.
$('#musics').on('change', '#want',function(e) {
$(this).closest('.from-group').val(($('#want').is(':checked')) ? "yes" : "no");
var ans=$(this).val();
console.log(($('#want').is(':checked')));
});
http://jsfiddle.net/swoogie/1rkhn7ek/39/
jquery plugin 호출로 새 요소를 추가할 때 다음과 같이 할 수 있습니다.
$('<div>...</div>').hoverCard(function(){...}).appendTo(...)
언급URL : https://stackoverflow.com/questions/12065329/adding-event-listeners-to-dynamically-added-elements-using-jquery
반응형
'codememo' 카테고리의 다른 글
| div - jQuery의 내용 변경 (0) | 2023.09.20 |
|---|---|
| 경고: remote HEAD가 존재하지 않는 ref를 참조하여 체크아웃할 수 없음 (0) | 2023.09.20 |
| 키업에서 텍스트 상자 포스트백을 만들려면 어떻게 해야 합니까? (0) | 2023.09.20 |
| 맞춤형 주문으로 결과를 얻는 방법은? (0) | 2023.09.20 |
| 우커머스 주문에서 패키지당 배송비를 어떻게 가져오나요? (0) | 2023.09.20 |