설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • mongodb
    • 패스트캠퍼스
    • angular4
    • angular2
    • 크로스도메인
    • angular callback
    • MYSQL
    • 404 error
    • Redis
    • INVALID
    • docker
    • jquery invalid
    • jOOQ
    • RESTful
    • flex
    • CORS
    • angular 콜백
    • Angular
    • Kafka
    • page not found

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Front-End/jQuery

    jQuery ready(fn) vs load(fn)

    2012. 4. 30. 10:47

    안녕하세요 TODD입니다.

     

    오늘은 jQuery API 중에서 ready(fn)와 load(fn)에 대해서 알아보려고 합니다.

     

    기존에 javascript로 구현된 페이지를 보면 페이지가 load 되었을때 해당 스크립트를 실행하기위해

     

    <body> 태그에 onload를 함수를 사용하는 코드를 종종 볼 수 있습니다.

     

    ready(fn)와 load(fn)는 <body onload=fn>와 비슷한 행동을 한다고 볼 수 있습니다.

     

    다만 약간의 차이가 존재하긴 합니다.

     

    차이를 알아보기에 앞서 간단하게 ready(fn)와 load(fn)에 대해서 살펴보면 다음과 같습니다.

     

    1. ready(fn)

     - DOM element들이 load가 완료된 시점에 callback function을 실행합니다.

     

    2. load(fn)

     - 전체 문서의 내용이 load가 완료된 후 callback function을 실행합니다.

     

    내용에서 확인할 수 있듯이 비슷하면서도 약간의 차이를 보이고 있습니다.

    차이를 살펴보면 ready event의 경우 DOM element의 load가 완료된 시점, 즉 이미지 등의 load가 완료되지 않더라도

    event를 받을 수 있습니다. 하지만 load event의 경우에는 모든 내용이 완전히 load된 시점에 load event가 호출됩니다.

    따라서 javascript의 onload event와 jQuery load event가 ready event보다는 가깝다고 할 수 있습니다.

     

    사실 이런 미묘한(?) 시점의 차이는 일반적인 상황에서는 크게 다를것이 없습니다.

    하지만 이런 차이점이 필요한 때도 있다는 것 또한 사실입니다.

     

    그럼 실제로 어떻게 어느 시점에 누가 먼저 실행되는지 샘플 코드를 만들어서 테스트 해보도록 하겠습니다.

     

     

     

    위 코드를 실행해보면 아래 그림의 왼쪽부터 순서대로 알림창이 나타남을 확인할 수 있습니다.

     

     

     

    먼저 DOM element가 load되면서 script의 alert event가 실행되고

    DOM element가 load된 후 jquery ready event가 실행되고 body load가 실행됩니다.

    그리고 전체 문서의 내용이 load가 완료된 후 jqeury load event가 실행되는것을 확인할 수 있습니다.

     

    감사합니다.



    http://cafe.naver.com/eztcp/644

    저작자표시 (새창열림)

    'Front-End > jQuery' 카테고리의 다른 글

    delegate & live 간단예제  (0) 2012.06.25
    jQuery img 경로 오류 시 대체 이미지 설정하기 (엑박 방지)  (0) 2012.06.21
    ready와 load 이벤트차이  (0) 2012.04.30
    javascript, jQuery로 페이지 스크롤 끝 확인  (1) 2012.04.26
    JQuery Mobile 44. 로딩 메세지 켜기/끄기  (0) 2012.04.26
      'Front-End/jQuery' 카테고리의 다른 글
      • delegate & live 간단예제
      • jQuery img 경로 오류 시 대체 이미지 설정하기 (엑박 방지)
      • ready와 load 이벤트차이
      • javascript, jQuery로 페이지 스크롤 끝 확인
      설 연수
      설 연수

      티스토리툴바