$(document).ready(function(){  함수 생략해도 되나요?

$(document).ready(function(){  함수 생략해도 되나요?

QA

$(document).ready(function(){  함수 생략해도 되나요?

답변 5

본문

 

 

$(document).ready(function(){ 

 

위 함수를 생략하고 제이쿼리를 사용해도 되나요??

 

지워도 정상적으로 작동하긴 하는데, 검색해보니 필수 문법이라고 하는 글도 있어서 어떨지 궁금합니다.

 

이 질문에 댓글 쓰기 :

답변 5

보통 제가 겪은 상황에 대해 설명드리면

<script>

jquery 들어가기

</script>

<script>

$(document).ready(function(){

OR 

$(function(){

</script>

 

두가지가 한페이지에 동시에 돌경우

document).ready 또는 $(function(){이 없는것보다 나중에 읽힙니다.

 

없어도 잘 됩니다.

필수는 아닙니다.

 

권장 성격입니다. https://tlatmsrud.tistory.com/16

 

https://7942yongdae.tistory.com/77

<script> ... </script> 의 위치에 따라 결정할수 있습니다.

<body> 위쪽에 위치해 있으면서 아래 위치한 노드를 찾아야 하는 경우이면 사용해야 하고

</body> 바로 위에 있으면 상관없습니다.

 


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script>
    alert('1. ' + $('p').get(0));
    $(document).ready(function(){
        alert('3. ' + $('p').get(0));
    });
    </script>
</head>
<body>
    <p>p</p>
    <script>
    alert('2. ' + $('p').get(0));
    $(document).ready(function(){
        alert('4. ' + $('p').get(0));
    });
    </script>
</body>
</html>

$(function(){

    //코드

});

로 사용하시는게 좋을듯 합니다.

해당 엘리먼트가 아직 그려지지 않아서 대기해야할 때나 스크립트의 로딩 순서가 맞지 않으면 스크립트 오류가 발생할 수 있어요.

 

엘리먼트를 선택해서 사용할 때나 플러그인에 의존적이라면 DOM Ready 이후에 동작하도록하는게 오류를 방지할수 있습니다. 당장에 오류가 보이지 않더라도 브라우저에 따라 렌더링 또는 스크립트가 실행된 상태에 따라 오류가능성이 있고 여러 브라우저 환경을 확인하지 못하면 찾기 힘든 버그를 만들어낼수도 있습니다. 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,020
© SIRSOFT
현재 페이지 제일 처음으로