반응형
radio 와 checkbox. 등은 선택 했을 경우와 값이 바뀔 경우 이벤트를 처리하는 경우가 종종 있다.
그런데 이 이벤트를 제대로 작성했는데도 동작을 하지 않았다.
$("input:radio[name='radio_test']").on("change", function(){
alert("왜 안뜨니...");
});
무엇이 문제 일까 고민을 했다. 다른 점은 저 라디오 버튼을 동적으로 생성 했다는 것이었다.
이럴 경우에는
$(document).on을 사용하여 이벤트를 바인딩 하면 된다.
$(document).on('change', "input:radio[name='radio_test']", function() {
alert("이제 뜬다");
});
document.ready 나 document.load 안에 이벤트를 바인딩 하였더라도 나중에 동적으로 생성된 경우라면 작동하지 않는다.
모달로 띄운 곳의 동적 생성된 라디오 버튼이라도 잘 작동한다.
반응형