ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [jQuery] - $(document).ready(function() { ... });
    JSP 2025. 5. 10. 21:11
    반응형

    $(document).ready(function() { ... }); 구문은 jQuery의 핵심 기능 중 하나로, JavaScript 코드가 HTML 문서가 완전히 로딩된 이후에 실행되도록 보장하는 메커니즘입니다.

    ✅ 기본 개념

     
    $(document).ready(function() {
        // 여기에 DOM이 완전히 로드된 후 실행할 코드를 작성
    });


    즉, <body> 태그 안에 있든 <head>에 있든 관계없이, DOM이 준비되었을 때 정확하게 실행된다는 장점이 있습니다.


    ✅ 왜 중요한가?

    HTML 요소들이 아직 로딩되지 않은 상태에서 JavaScript가 실행되면, 아래와 같은 문제가 발생할 수 있습니다.

    document.getElementById("myButton").addEventListener("click", function() {
        alert("Clicked!");
    });

    위 코드가 <body>의 myButton이 생성되기 전에 실행되면 오류가 발생하거나 이벤트가 동작하지 않습니다.

    👉 해결책: DOM 준비 후 실행

    $(document).ready(function() {
        $("#myButton").click(function() {
            alert("Clicked!");
        });
    });

    #myButton 요소가 존재한 이후에 바인딩되므로 정상적으로 동작합니다.


    ✅ jQuery ready의 내부 동작

    • document.ready는 DOMContentLoaded 이벤트와 유사하게 동작
    • jQuery는 브라우저 호환성을 고려해 내부적으로 다양한 이벤트를 감지함
    • jQuery가 로딩되자마자, DOM 상태를 감시하다가 준비 완료 시 콜백을 실행

    ✅ ES6 이후로는 이렇게도 가능 (순수 JS)

    document.addEventListener("DOMContentLoaded", function() {
        // DOM 완성 후 실행
    });

     

    최신 브라우저에서는 jQuery 없이도 위처럼 처리하는 게 일반적입니다.


    ✅ 결론 요약


    항목 설명
    역할 DOM이 완전히 로드된 후 JavaScript 코드 실행
    장점 HTML 요소가 모두 생성된 후에 코드를 실행하므로 오류 방지
    대체 최신 브라우저에서는 DOMContentLoaded 이벤트로 대체 가능
    사용 예 Ajax 호출, 이벤트 바인딩, 초기화 함수 실행 등
     
    반응형

    댓글

Designed by Tistory.