[HTML][JavaScript] jQuery .ready() vs .onload() 특징 및 차이 

jQuery .ready() vs .onload() 특징 및 차이

 

 

개요

>  jQuery를 이용한 뷰단 event 함수 구현 중 비슷하지만 다른 두 jQuery 함수에 대한 궁금증
// 비슷하지만 다른 2개의 소스의 차이점이 무엇인가??
$(document).ready(function(){
	alert('hi - ready');
});

$(window).onload(function(){
	alert('hi - load');
});


 

메모

1. 호출 시점의 차이 : 한 페이지에 두 함수가 다 있다면 실행 우선순위 (.ready() → .onload() 순으로 실행)
          .ready() 호출시점 : DOM Tree 생성 완료 후
          .onload() 호출시점 : 모든 페이지 구성요소 페인팅 완료 후

* 호출 시점에 대한 자세한 내용은 밑에 "내용" 봐주세용~

 

내용

  • 우선 알아둬야할 내용 "웹 브라우저의 HTML문서 렌더링 과정"
     
    1. 불러오기(Loading)
      • 불러오기는 HTTP 모듈 또는 파일시스템으로 전달 받은
        리소스 스트림(Resource Stream)을 읽는 과정으로 로더(Loader)가 이 역할을 맡고 있다.
      • 로더는 단순히 읽는 것이 아니라, 이미 데이터를 읽었는지도 확인하고,
        팝업창을 열지 말지, 또는 파일을 다운로드 받을 지를 결정한다.

         
    2. 파싱(Parsing)
      • 파싱은 DOM(Document Object Model) 트리를 만드는 과정이다.
      • 웹 엔진이 가지고 있는 HTML/XML 파서가 문서를 파싱해서 DOM Tree를 만든다.
      • DOM Tree : 내용을 저장하는 트리로 javascript에서 접근하는 DOM객체를 쓸 때 이용됨.
         
    3. 렌더링 트리 만들기(Rendering Tree)
      • 렌더링 트리 : DOM Tree와는 별도로 그리기 위한 트리가 만들어져야 하는데, 그것이 렌더링 트리다.
        (그릴 때 필요없는 head, title, body 태그등이 없음
          + display:none; 처럼 DOM에는 있지만 화면에서는 걸러내야할 것들이 걸러내진 트리)

         
    4. CSS 결정
      • CSS는 선택자에 따라서 적용되는 태그가 다르기 때문에
        모든 CSS 스타일을 분석해 태그에 스타일 규칙이 적용되게 결정한다.

         
    5. 레이아웃(Layout)
      • 렌더링 트리에서 위치나 크기를 가지고 있지 않기 때문에
        객체들에게 위치와 크기를 정해주는 과정을 레이아웃이라고 한다.

         
    6. 그리기(Painting)
      • 렌더링 트리를 탐색하면서 페이지를 그려나간다.
         

     
  • $(document).ready vs $(window).onload
      • $(document).ready 의 호출 시점 : 1~2번 과정이 완료되어 DOM Tree 생성이 완료된 후 호출
      • $(window).onload 의 호출 시점 : 모든 과정이 완료되어, 웹 페이지가 다 구성된 후 호출

 

출처: https://hahahoho5915.tistory.com/28 [넌 잘하고 있어:티스토리]

 

 

 

 

 

 

 

 

 

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
34 [javascript] React - Apache에 배포하기 file 졸리운_곰 2026.01.25 444
33 Python으로 GraphQL 서버 구현 file 졸리운_곰 2019.12.17 541
32 처음 만나는 GraphQL file 졸리운_곰 2019.12.17 371
31 웹팩(Webpack) 이란, 웹팩 간단 정리 및 리액트(React) 기본 개발환경 세팅. [2] file 졸리운_곰 2019.11.08 581
30 웹팩(Webpack) 이란, 웹팩 간단 정리 및 리액트(React) 기본 개발환경 세팅. [1] file 졸리운_곰 2019.11.08 411
29 PHP 로 css/js 보호하기 졸리운_곰 2019.11.08 437
28 Three.js를 이용한 WebGL: 기본 file 졸리운_곰 2019.11.08 495
27 underscore.js로 편해지자 졸리운_곰 2018.10.16 545
26 자바스크립트로 각종 값넘기는방법 졸리운_곰 2018.01.24 518
25 form 데이터 주고 받기 file 졸리운_곰 2018.01.24 489
24 Node.js & WebSocket — Simple chat tutorial file 졸리운_곰 2017.12.08 612
23 JavaScript 모듈화 도구, webpack file 졸리운_곰 2017.10.30 537
22 웹팩이란? 졸리운_곰 2017.10.30 531
21 이해하기 쉬운 Webpack 가이드 file 졸리운_곰 2017.10.30 853
20 [jquery] Ajax를 품은 jQuery file 졸리운_곰 2017.04.25 466
19 Create Your First Mobile App with AngularJS and Ionic file 졸리운_곰 2016.11.20 1269
18 Single Page Application using AngularJs Tutorial file 졸리운_곰 2016.11.20 458
17 AngularJS Tutorial - Building a Web App in 5 minutes file 졸리운_곰 2016.11.20 460
16 자바스크립트의 'this' 키워드 이해하기 졸리운_곰 2016.11.17 634
15 jQuery 핵심 - 노드 다루기 졸리운_곰 2016.11.17 774
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED