웹 프로그래밍/JAVASCRIPT

사이먼 윌리슨의 addLoadEvent 함수

웹 개발자의 비상 2010. 4. 2. 14:30

자바스크립트를 사용하게되면 어쩔수 없이 페이지 하단이나 중간에 넣는 경우가 생긴다.
사실 이렇게 코딩을 하고나면 웬지 찝찝한 기분이 들곤 했다. 자바스크립트를 처음 배울때의 제일 먼저 하는 말이
"자바스크립트는 html 문서 header 안에 넣습니다." 이기 때문인다.
하지만 현장에서 종사하다보면 자바스크립트를 페이지의 중간중간 혹은 제일 하단에 삽입하지 않으면 페이지가 정상 동작하지 않는다는 것을 알게된다. 자바스크립트는 절차를 우선으로 하기 때문이다.
이럴 경우 본능적으로 잘못된 코딩을 하고 있다는 것을 직감하지만 얕은 나의 지식으로는 별다른 대처법이 없었다.

.
.
.

해결책을 찾았다. addLoadEvent 함수..
간단하고 멋져부리구만..
디지만 조금씩 알아가는 자바스크립트 슬슬 재밌어진다.

//함수의 선언
function addLoadEvent(func) {
 //oldonload라고 부르는 변수에  기존  window.onload를 저장한다.
 var oldonload = window.onload;
 
 if (typeof window.onload != 'function') {
  //함수가 추가되어 있지 않으면 (처음시작이면) 원래 방법대로 새 함수를 추가한다.
  window.onload = func;
 } else {
  //이미함수가 추가되어 있으면, 기존 함수 뒤에 새함수를 추가한다.
  window.onload = function() {
   oldonload();
   func();
  }
 }
}

//함수의 호출
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);


728x90

'웹 프로그래밍 > JAVASCRIPT' 카테고리의 다른 글

자바스크립트 갤러리  (0) 2010.04.02
nodeName, getAttribute, nodeValue 를 통한 태그확인  (0) 2010.04.02
하위 호환성  (0) 2010.04.02
스크립트 분리  (0) 2010.04.02
단계적 기능축소  (0) 2010.04.02