2013년 2월 25일 월요일

[JS] window.onload로 2개 함수 로드

window 객체의 onload()를 언급한바 있다. HTML문서의 모든 태그들을 다 로드한 뒤에 실행되는 메서드로써 태그에 연결되어 있는 이벤트 함수를 로드한다.

그런데 onload()를 이용하여 두개의 함수를 연결하고자 한다면 다음과 같은 실용적인 코드가 있다. 유용하니 잘 알아두자.

function addEvent(func){//사용자 정의함수. 인자로 함수를 받는다.
    var oldonload = window.onload;//처음에 로드한 함수를 변수에 저장한다.없다면 null
    if(typeof window.onload != "function"){//타입을 검사하여 처음로드되는 것인지 판단
        window.onload = func;//처음로드되는 함수라면 등록
    }else{
        window.onload = function(){//이미 로드된 함수가 있다면 둘다 호출
            oldonload();
            func();
        }
    }
}

addEvent(func1);
addEvent(func2);

2개의 서로다른 함수를 로드하는 새로운 사용자 정의 함수이다.

댓글 없음:

댓글 쓰기