[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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
20 [nest.js] [NestJS] NestJS 구조 이해를 위한 필수 개념 정리 - Node.js/TypeScript/Express 비교 포함 file 졸리운_곰 2025.12.12 501
19 [node.js 개발] Apache Reverse Proxy 설정(아파치와 노드 연동) file 졸리운_곰 2024.03.17 300
18 [node.js 개발] PM2로 Node.js 앱 프로세스 배포하기 file 졸리운_곰 2024.03.16 405
17 [node.js 개발] PM2를 활용한 Node.js 무중단 서비스하기 file 졸리운_곰 2024.03.16 517
16 [node.js 응용] Next.js : Next.js14에 Mysql연결하기 졸리운_곰 2024.03.03 379
15 [node.js 응용] Node.js에서 다른 파일의 함수를 "include" 하는 방법 졸리운_곰 2024.02.28 427
14 [node.js 응용] NodeJS 에서 mqtt 사용하기 file 졸리운_곰 2024.02.23 399
13 [node.js 응용] Next.js 기본 개념정리 file 졸리운_곰 2024.02.23 432
12 [node.js 응용] ejs 사용설명서 file 졸리운_곰 2023.11.25 371
11 [node.js 응용] Build a Node.js Proxy Server in Under 10 minutes! file 졸리운_곰 2023.05.07 468
10 [node.js 응용] node - pm2로 node.js 프로세스 관리하기 - 기본 명령어, 실행하기 file 졸리운_곰 2023.04.25 407
9 [node.js 응용] Node.js | MySQL과 연동(mysql모듈) - CRUD 2/2 졸리운_곰 2023.03.31 231
8 [node.js 응용] Node.js | MySQL과 연동(mysql모듈) - CRUD 1/2 file 졸리운_곰 2023.03.31 484
7 [node.js 응용] PM2 - Node.js 프로세스 관리 도구 file 졸리운_곰 2021.12.10 409
6 [node.js][nodejs] [Linux] 리눅스 내 Node.js 및 NPM 최신 버전으로 유지하기 file 졸리운_곰 2021.10.11 484
5 [node.js][typescript] 5분 안에 보는 TypeScript file 졸리운_곰 2021.07.03 428
4 Getting started with RabbitMQ and Node.js file 졸리운_곰 2019.05.09 466
3 [Node.js + RabbitMQ] Node.js + socket.io + RabbitMQ 이용한 실시간 메시지 처리 file 졸리운_곰 2019.05.09 352
2 node.js 서버 장애시 자동 재시작 설정 [forever 사용] 졸리운_곰 2019.01.24 884
1 Express 앱용 프로세스 관리자 졸리운_곰 2018.10.16 603
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED