티스토리 뷰

기본적으로 onload 함수에는 한개의 함수만 실행된다

예전에 많이 쓰던 방식으로는 태그에 직접 걸어주는 방식과 스크립트로 거는 방식이 있다

 

태그에 직접 거는 방식

<body onload="수행작업">

 

스크립트로 작성하는 방식

<script>

    window.onload = "수행작업";

</script>

 

위의 방법들은 onload를 재지정하게 되면 마지막에 정의한 부분만 실행된다

한번에 여러함수를 실행하고 싶을때가 많은데

나의 경우는 두가지 방법을 사용한다.

두번째처럼 함수로 만들어 놓고 그때 그때 호출하는 방법이 제일 좋은것 같다

 

첫번째

하나의 이벤트에 두개의 메소드를 몰아 넣는 방법외에

또 한가지 해결 방법으로, attachEvent를 사용하여 해당 이벤트에 함수를 추가할 수 있습니다.

body에 있는 onload이벤트는 그대로 두고,

 

<script type="text/javascript">
    window.attchEvent("onload", "수행작업");
</script>


※ attachEvent로 추가된 함수는 detachEvent로 제거하실 수 있습니다.

 

두번째

<script type="text/javascript">

        addLoadEvent(funLoad);
        function addLoadEvent(func){
            var oldonload = window.onload;
            if(typeof window.onload != 'function'){
                window.onload = func;
            }else{
                window.onload = function(){
                    oldonload();
                    func();
                };
            }

        }
        function funLoad(){
            // 필요한 작업들 입력

        }

</script>

댓글
댓글쓰기 폼
Total
209,785
Today
1
Yesterday
14