모바일 & 앱
jQuery clone시 이벤트 먹통 문제 (datepicker, autocomplete)
Hippalus
2020. 4. 10. 19:36
반응형
보통 날짜 선택이나 자동완성을 위해 datepicker나 autocomplete을 사용할 때
클래스로 해당 컨트롤을 제어하게 된다.
이렇게
$(".DATE").datepicker();
뭐 여기까진 좋다.
하지만 clone이 들어오면 이야기는 달라진다.
var objClone = $("#DIVSAMPLE").clone(true);
objClone.find(".DATE").datepicker('destroy').removeClass('hasDatepicker').removeAttr('id').datepicker().attr('name', 'DATE');
이렇게 생쑈를 해줘야 한다.
이게 뭐하는 짓일까
생쑈 하지 말고 동적으로 생성된 컨트롤에 이벤트를 줘야 한다면
포커스 받았을 때 이벤트 부여
포커스 잃었을 때 이벤트 삭제
이렇게 처리한다면 한결 깔끔해질 수 있다.
$(".DATE").focus(function() {
$(this).datepicker();
});
$(".DATE").focusout(function() {
$(this).datepicker("destroy");
});
그나저나 티스토리 개편된 UI는 참... 에효
앱도 그렇고 편집기도 그렇고 참..
반응형