티스토리 뷰

Language/Javascript

DOMContentLoaded 이벤트

Seogineer 2020. 12. 30. 13:02

DOMContentLoaded 와 Load 차이

  • DOM Tree 분석이 끝나면 DOMContentLoaded 이벤트 발생
  • 모든 자원이 다 받아져서 브라우저에 화면 표시까지 다 끝나는 시점에 Load 발생
  • DOMContecLoaded 이후에 동작하도록 구현하는 것이 성능에 유리하다.

DOMContentLoaded 이벤트를 사용하는 이유

<!-- DOM Tree가 다 만들어진 후 자바스크립트 실행-->
<div>a</div>

<script>
  let div = document.querySelector("div");
  console.log(div);    //<div>a</div> 출력
</script>
<!-- DOM Tree가 다 만들어지기 전 자바스크립트 실행 -->
<script>
  let div = document.querySelector("div");
  console.log(div);    //null 출력
</script>

<div>a</div>

위와 같은 이유 때문에 script문을 body 태그를 닫기 전에 삽입한다.

DOMContentLoaded 이벤트 이후에 동작하도록 구현

function init(){
  ...
}

document.addEventListener("DOMContentLoaded", () => {
  let div = document.querySelector("div");
  init();
});

참조

https://www.boostcourse.org/web316/lecture/20141/
https://developer.mozilla.org/ko/docs/Web/Events/DOMContentLoaded
https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event

'Language > Javascript' 카테고리의 다른 글

var, let, const  (0) 2021.01.03
버블링(Bubbling)과 Event delegation  (0) 2020.12.30
객체와 객체 탐색  (0) 2020.12.28
배열과 배열 탐색, 함수  (0) 2020.12.28
appendChild(), insertBefore()  (0) 2020.12.27
댓글
Total
Today
Yesterday
링크
Apple 2023 맥북 프로 14 M3, 스페이스 그레이, M3 8코어, 10코어 GPU, 512GB, 8GB, 한글