JQuery UI dialog method Error
JQEURY UI(JQuery User Interface)의 dialog 위젯에서 지원하는 메서드중 하나인 close를 이용하여 layer를 닫을때 아래와 같은 에러가 발생할 경우가 있습니다.
Uncaught Error: : cannot call methods on dialog prior to initialization; attempted to call method 'close'
케이스마다 원인이 다를 수 있지만 저같은 경우 사이트 구축 초기에는 잘 뜨고 소스 수정도 없었는데 어느 순간부터 에러가 발생하고 있어서 원인 찾는데 시간이 조금 걸렸었네요.
원인은 본문내에 dialog API를 이용하여 modal을 document로 append하는데 레이어내 html의 document에서 JQuery 라이브러리 스크립트들을 한 번 더 로딩하면서 발생하는 문제였습니다.
아마 dialog 위젯의 메서드를 사용하려면 initialization를 해줘야하는데 modal 팝업 안에서 스크립트가 다시 로딩되어 초기상태로 돌아가면서
본창에서 dialog initialization했던 데이터를 잃어버리는 현상이었던 걸로 예상됩니다.
Reference
https://jqueryui.com/dialog/
http://api.jqueryui.com/dialog/
'Program > Javascript, JQuery' 카테고리의 다른 글
[HTML/Javascript] 페이지내 원하는 위치로 이동 하기 ( scrollTo , scrollBy 차이 ) (0) | 2019.11.05 |
---|---|
[Javascript] JSON 데이터 추가, 삭제 (add / delete) (1) | 2019.08.12 |
아이폰 브라우저 뒤로가기시 스크립트 리로드 오류 처리( onpageshow / BFCache ) (3) | 2018.05.29 |
[HTML5] WebStorage (LocalStorage / SessionStorage) (0) | 2017.07.27 |
[Javascript] 내장함수 - 타이머함수 (setTimeOut / setInterval / timer / 은행 세션 만료 구현) (1) | 2017.01.04 |