• 회원가입
  • 로그인
  • 구글아이디로 로그인

[DOM_Event] JS - DOMContentLoaded 이벤트 ★★★★★ - 돔 웹문서 로드 완료 이벤트(= DOMContentLoaded이벤트 = 돔콘텐트로디드이벤트/돔컨텐트로디드이벤트) ※ (돔로드완료/페이지로드완료/요소로드완료)체크 후

목차

  1. DOMContentLoaded 예제 - 돔 웹문서 로드 완료 이벤트
  2. DOMContentLoaded 정의
  3. DOMContentLoaded 구문
  4. DOMContentLoaded 예제 - 잘못된 사용 경우들

 

DOMContentLoaded 예제 - 돔 웹문서 로드 완료 이벤트

 

<html>

    <head>

        <script>

        window.addEventListener('DOMContentLoaded', function(){

            var hz = document.getElementById('hz').innerHTML;

            document.getElementById("hz").innerHTML = "홈짱닷컴 Homzzang.com";

        })

        </script>

    </head>

    <body>

        <p id="hz"></p>

    </body>

</html>

 

결과보기

※ 파란색코드가 없으면 alert 코드가 작동 안 함. 예제보기 

 

DOMContentLoaded 정의

 

DOM 구성요소 완전히 로드될 때 실행.

 


 

1. cf.

  • DOMContentLoaded 이벤트 : 스타일시트, 이미지, 하위프레임 로딩 안 기다림.
  • load 이벤트 : 스타일시트, 이미지, 하위프레임 로딩까지 전부 기다림.

 

2.

  • Lazyload (레이지로드: 스크롤 할 때마다 조금씩 콘텐츠 추가 로드) 구현할 때 유용.
  • INPUT요소에 텍스트 붙여넣기 후 붙여넣은 값을 JS변수에 담을 경우, <script defer> ...</script> 코드나 jQuery의 $(document).ready(function() {...}); 코드로는 정상작동 안 되는 경우 존재 함. (경험함. ㅡㅡ;) 이럴 때 DOMContentLoaded 이벤트 사용하면 정상작동 함. (이것 때문에 몇 시간 헤멤. ㅡㅡ;;)

 

3. DOM 요소 로드 완료 후 JS 코드 실행

window.onload = function() {

    // (외부 리소스 포함해서) 모든 요소 로드 후 실행될 코드

};

또는, 

document.addEventListener("DOMContentLoaded", function() {

    // (외부 리소스 무관하게) DOM 요소 로드 후 실행될 코드

});

 

4.

IE9 이상 주요 최신브라우저 지원.

 

5. MDN DOMContentLoaded 예제보기

https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event

 

 

DOMContentLoaded 구문

 

object.addEventListener("DOMContentLoaded", homzzang);

 

※ homzzang : 실행함수명. (함수명 자리에 실행코드를 직접 입력 가능)

※ addEventLister() 방식 주의사항 2가지 : (이벤트명에 on 안 붙인. / 실행함수명 뒤에 소괄호 안 붙임)

※ addEventListener() 메서드는 IE8 및 그 이전 브라우저는 지원 안 함.  


DOMContentLoaded 예제 - 잘못된 사용 경우들

[주의] 아래처럼 사용하면 작동 X
(∵ ondomcontentloaded / 
onDOMContentLoaded 전역이벤트속성 존재 X)

 

<element ondomcontentloaded="homzzang()">

또는,

object.ondomcontentloaded = function(){homzzang()};

 


[예제1]

 

<html>

    <head>

        <script>

        function homzzang(){   

            document.getElementById("hz").innerHTML = "홈짱닷컴 Homzzang.com";

        }

        </script>  

    </head>

    <body ondomcontentloaded="homzzang()">

        <p id="hz"></p>       

    </body>

</html>

 

결과보기


[예제2]

 

<html>

    <head>

       <script type="text/javascript">

       document.ondomcontentloaded=function(){

           document.getElementById("hz").innerHTML = "홈짱닷컴 Homzzang.com";

       }

       </script>

    </head>

    <body>

        <div id="hz"></div>

    </body>

</html>

 

결과보기



분류 제목
HTML_Objects JS - <option> 객체 ★ - 선택사항 (= 옵션사항 = option태그 = 옵션태그)
HTML_Objects JS - <output> 객체 - 계산결과값출력 (= 산출태그 = output태그 = 아웃풋태그) (HTML…
HTML_Objects JS - <p> 객체 - 글단락 (= p태그 = p요소 = 글문단 = 단락태그 = 문단태그 = 피태그)
HTML_Objects JS - <param> 객체 - 미디어매개변수 (= param태그 = 패럼태그 = 파람태그 = 패러미터태그 …
HTML_Objects JS - <pre> 객체 ★ - 공백줄바꿈보존 (= 보존태그 = 있는그대로태그 = 있는대로태그 = pre태그…
HTML_Objects JS - <progress> 객체 - 진행상태바 (=진행바 = 진행막대 = 작업막대 = progress태그 …
HTML_Objects JS - <q> 객체 - 짧은인용구 (= 짧은인용태그 = q태그 = 큐태그)
HTML_Objects JS - <s> 객체 - 취소선 (= 취소태그 = s태그 = 에스태그 = 스트라이크쓰루태그) (HTML5 재…
HTML_Objects JS - <samp> 객체 - 프로그램산출예제 (= 예제태그 = samp태그 = 샘프태그 = 샘플태그)
HTML_Objects JS - <script> 객체 ★ - JS코드입력 (= 동적기능언어입력 = script태그 = 스크립트태그)
HTML_Objects JS - <section> 객체 ★ - 문서단락 (= section태그 = 섹션태그, IE9)
HTML_Objects JS - <select> 객체 ★★ - 선택메뉴 (= select메뉴 = select태그 = 실렉트태그/셀렉…
HTML_Objects JS - <small> 객체 - 작은글씨 (= small태그 = 스몰태그)
HTML_Objects JS - <source> 객체 - 미디어소스 불러오기 (= source태그 = 소스태그, IE9)
HTML_Objects JS - <span> 객체 ★★★ - 인라인요소그룹 (= span태그 = 스팬태그)</span>
HTML_Objects JS - <strong> 객체 ★ - 굵은 글씨 (=폰트 굵게 = 글씨 굵게 = strong태그 = 스트롱태…
HTML_Objects JS - <style> 객체 ★ - 요소에 CSS스타일적용 (= style태그 = 스타일태그)
HTML_Objects JS - <sub> 객체 ★ - 아래첨자 (= 하단작은글씨 = 하단태그 = sub태그 = 서브태그)
HTML_Objects JS - <summary> 객체 - 세부사항의 머리글 (= summary태그 = 서머리태그 = 써머리태그)…
HTML_Objects JS - <sup> 객체 ★ - 위첨자 (= 상단작은글씨 = 상단태그 = sup태그 = 섭태그 = 서프태그 …
59/67
목록
찾아주셔서 감사합니다. Since 2012