JavaScript

[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>

 

결과보기



분류 제목
DOM_Document JS - styleSheets 속성 - 스타일시트집합
js JS - rules 속성 - styleSheets 객체의 속성
DOM_Event JS - cancelBubble 속성 - 부모요소로 이벤트 확산 방지 (= 상위요소로 이벤트확산취소 = 캔슬…
DOM_Event JS - composedPath() 메서드 - 이벤트객체흐름파악 (=이벤트실행객체경로파악 = 컴포우즈드패스메…
js JS - 특정요소 함수실행제외 (= 배열문자열포함검사) ★★★★★
js JS - Keyboard KeyCode (키보드키코드 = 키보드키번호 = 키보드키조회 = 키보드코드 = 키보…
js JS - ctrlKey, altKey, shiftKey 속성 - Ctrl키, Alt키, Shift키 눌림여부…
js JS - 숫자만 입력 가능
js JS - 클릭버튼생성 (= 클릭탭생성), 자식요소개별아이디부여, 클릭요소삭제 (= 클릭요소제거 = 클릭부모요…
js JS - F12키차단 (=개발자도구차단) + 마우스오른쪽금지 (= 마우스오른쪽차단 = 불펌방지 = 클릭방지)
js JS - Drag & Drop (= Draggable) - 요소이동 (= 요소끌어이동 = 드래그앤드롭 = 드…
js JS - INPUT입력값을 GET방식으로 넘기기 (=인풋값, 인풋입력밧, 겟방식전달)
HTML_Objects JS - <thead> 객체 - 테이블머리글그룹 (= 테이블헤드그룹 = thead태그 = 티헤드태그) (HT…
js JS - 아이피 유효성검사 (= 아이피 유효성체크 = 아이피 적합성검사 = 아이피 적합성체크)
DOM_Event JS - DOMContentLoaded 이벤트 ★★★★★ - 돔 웹문서 로드 완료 이벤트(= DOMConte…
82/89
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 2
웹유틸
회원센터
홈짱닷컴 PC버전 로그인