JSP
[jQuery] - $(document).ready(function() { ... });
jaycheol
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 호출, 이벤트 바인딩, 초기화 함수 실행 등 |
반응형