본문 바로가기

디버깅노트

자바스크립트 작동 안될 때, body onload 충돌문제

반응형

오늘도 여전히 코린이는 삽질만 열라 하다가 퇴근합니다..

오늘은 평소 잘 돌아가던 페이지에서 갑자기 자스가 작동을 하지 않는 것...

대체 왜 안돌아갈까 생각해봤더니 최근에 팝업창 띄우는 코드를 입력했었는데, 그러고 나니 캘린더가 안열리는 거다..

 

팝업창 띄우는 코드를 <body>에 onload이벤트 인라인 입력했었는데, 요걸 빼고 새로고침하니까 나머지가 잘 돌아간다.

 

짱돌을 굴려보니 문제의 원인은 onload 충돌 때문이라는 결론이 났다.

호출된 js 파일 안에 window.onload = 코드가 입력돼 있었다..

 

onload이벤트는 두번 이상 실행하면 충돌이 일어나 한 쪽만 실행된다.

이때는 window.onload 나 document.onload 이렇게 나눠서 실행시킨다.

 

결국 <body>에 인라인으로 넣었던 이벤트 실행문을 지우고

document.onload = 함수명(); 입력.

잘된다.

까먹지 말자...

반응형