복붙노트

[JQUERY] 수 여러 $ (문서) .ready가 (함수 () {...}); 섹션?

JQUERY

수 여러 $ (문서) .ready가 (함수 () {...}); 섹션?

해결법


  1. 1.여러 사람을 가질 수 있지만, 그것은 항상 할 수있는 산뜻한 것은 아니다. 이 심각하게 가독성에 영향을 미칠 것으로,이를 남용하지 않도록하십시오. 그 외에는, 그것은 완벽하게 합법적이다. 을 아래 참조 :

    여러 사람을 가질 수 있지만, 그것은 항상 할 수있는 산뜻한 것은 아니다. 이 심각하게 가독성에 영향을 미칠 것으로,이를 남용하지 않도록하십시오. 그 외에는, 그것은 완벽하게 합법적이다. 을 아래 참조 :

    http://www.learningjquery.com/2006/09/multiple-document-ready

    이 밖으로 시도 :

    $(document).ready(function() {
        alert('Hello Tom!');
    });
    
    $(document).ready(function() {
        alert('Hello Jeff!');
    });
    
    $(document).ready(function() {
        alert('Hello Dexter!');
    });
    

    당신은이 동등의 실행 순서에주의 것을 찾을 수 있습니다 :

    $(document).ready(function() {
        alert('Hello Tom!');
        alert('Hello Jeff!');
        alert('Hello Dexter!');
    });
    

    그것은 기능이 .ready 블록이 또 다른 $ (문서) .ready 블록에서 호출 할 수 없습니다 일 $ (문서)에 정의 된 것을 주목할 가치가있다, 난 그냥이 테스트를 실행 :

    $(document).ready(function() {
        alert('hello1');
        function saySomething() {
            alert('something');
        }
        saySomething();
    
    });
    $(document).ready(function() {
        alert('hello2');
        saySomething();
    }); 
    

    출력했다 :

    hello1
    something
    hello2
    

  2. 2.여러 사용할 수 있습니다. 하지만 당신은 하나 document.ready 내부뿐만 아니라 여러 기능을 사용할 수 있습니다 :

    여러 사용할 수 있습니다. 하지만 당신은 하나 document.ready 내부뿐만 아니라 여러 기능을 사용할 수 있습니다 :

    $(document).ready(function() {
        // Jquery
        $('.hide').hide();
        $('.test').each(function() {
           $(this).fadeIn();
        });
    
        // Reqular JS
        function test(word) {
           alert(word);
        }
        test('hello!');
    });
    

  3. 3.예를 쉽게 여러 블록을 가질 수 있습니다. 그냥 당신이 무엇을 기대하지 않을 수 있습니다 평가 순서와 그들 사이의 의존성에주의.

    예를 쉽게 여러 블록을 가질 수 있습니다. 그냥 당신이 무엇을 기대하지 않을 수 있습니다 평가 순서와 그들 사이의 의존성에주의.


  4. 4.네, 여러 $ (문서) .ready () 통화를 할 수 있습니다. 그러나, 나는 그들이이 실행되는 방법으로 알 수 있다고 생각하지 않습니다. (출처)

    네, 여러 $ (문서) .ready () 통화를 할 수 있습니다. 그러나, 나는 그들이이 실행되는 방법으로 알 수 있다고 생각하지 않습니다. (출처)


  5. 5.네, 그것은 가능하지만 당신은 더 나은 사업부의 #mydiv를 사용하고 모두 사용할 수 있습니다

    네, 그것은 가능하지만 당신은 더 나은 사업부의 #mydiv를 사용하고 모두 사용할 수 있습니다

    $(document).ready(function(){});
    
    //and
    
    $("#mydiv").ready(function(){});
    

  6. 6.네, 이유없이 그 일을 완벽하게 ok.but을 피입니다. 예를 들어 내 자바 스크립트 파일을 동적으로 생성되었을 때 나는 indivual 페이지보다 별도로 글로벌 사이트 규칙을 선언하는 데 사용하지만 당신은 단지 그것을 통해 일을 계속하는 경우는 읽기 열심히 할 것입니다.

    네, 이유없이 그 일을 완벽하게 ok.but을 피입니다. 예를 들어 내 자바 스크립트 파일을 동적으로 생성되었을 때 나는 indivual 페이지보다 별도로 글로벌 사이트 규칙을 선언하는 데 사용하지만 당신은 단지 그것을 통해 일을 계속하는 경우는 읽기 열심히 할 것입니다.

    또한 다른 일부 방법에 액세스 할 수 없습니다 jQuery를 (함수 () {}); 요구 그 또 다른 이유는, 그래서 당신은 그렇게 할 싶지 않아.

    이전 창로드하면 예전 당신이 함수를 지정된마다 교체합니다하지만.


  7. 7.그래 넌 할수있어.

    그래 넌 할수있어.

    당신이 그것을 사용하는 것과 동일한 페이지 떨어져 haging 다른 모듈이있는 경우 여러 문서 준비 섹션은 특히 유용합니다. 이전 위해 window.onload = FUNC 선언을 사용하면 함수를 지정된 모든 시간은 이전을 대체라고합니다.

    이제 지정된 모든 기능에 관계없이의 / 스택 (캔 누군가의 확인을?) 대기 그들이에 지정된 준비 섹션을 기록하고 있습니다.


  8. 8.내가 갈 수있는 더 좋은 방법이라는 기능에 스위치를 넣어 (그 주제에 대한 자세한 내용은이 오버 플로우를 확인)하는 것입니다 생각합니다. 당신은 하나의 이벤트에서 호출 할 수있는 방법입니다.

    내가 갈 수있는 더 좋은 방법이라는 기능에 스위치를 넣어 (그 주제에 대한 자세한 내용은이 오버 플로우를 확인)하는 것입니다 생각합니다. 당신은 하나의 이벤트에서 호출 할 수있는 방법입니다.

    그래서 같이 :

    function firstFunction() {
        console.log("first");
    }
    
    function secondFunction() {
        console.log("second");
    }
    
    
    function thirdFunction() {
        console.log("third");
    }
    

    그 방법은 하나의 준비 기능에로드 할 수 있습니다.

    jQuery(document).on('ready', function(){
       firstFunction();
       secondFunction();
       thirdFunction();
    

    });

    이 의지 출력은 당신을 console.log에 다음과 같은 :

    first
    second
    third
    

    이 방법은 다른 이벤트에 대한 기능을 다시 사용할 수 있습니다.

    jQuery(window).on('resize',function(){
        secondFunction();
    });
    

  9. 9.그것은 법적,하지만 때로는 원하지 않는 동작이 발생할. 모범 나는 MagicSuggest 라이브러리를 사용하고 내 프로젝트의 페이지에 두 MagicSuggest 입력을 추가하고 입력의 각 초기화에 대한 별도의 문서 준비 기능을 사용한다. 맨 처음 입력 초기화했다,하지만 두 번째도 오류를 포기하지 않을, 두 번째 입력은 나타나지 않았다. 그래서, 난 항상 하나 개의 문서 준비 기능을 사용하는 것이 좋습니다.

    그것은 법적,하지만 때로는 원하지 않는 동작이 발생할. 모범 나는 MagicSuggest 라이브러리를 사용하고 내 프로젝트의 페이지에 두 MagicSuggest 입력을 추가하고 입력의 각 초기화에 대한 별도의 문서 준비 기능을 사용한다. 맨 처음 입력 초기화했다,하지만 두 번째도 오류를 포기하지 않을, 두 번째 입력은 나타나지 않았다. 그래서, 난 항상 하나 개의 문서 준비 기능을 사용하는 것이 좋습니다.


  10. 10.당신은 둥지 문서 준비 기능은 내부 HTML 파일을 포함 할 수 있습니다. 여기에 jQuery를 사용하여 예입니다 :

    당신은 둥지 문서 준비 기능은 내부 HTML 파일을 포함 할 수 있습니다. 여기에 jQuery를 사용하여 예입니다 :

    파일 : test_main.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <script src="jquery-1.10.2.min.js"></script>
    </head>
    
    <body>
        <div id="main-container">
            <h1>test_main.html</h1>
        </div>
    
    <script>
        $(document).ready( function()
        {
            console.log( 'test_main.html READY' );
            $("#main-container").load("test_embed.html");
        } );
    </script>
    
    </body>
    </html>
    

    파일 : test_embed.html

    <h1>test_embed.html</h1>
    <script>
        $(document).ready( function()
        {
            console.log( 'test_embed.html READY' );
        } );
    </script>
    

    콘솔 출력 :

    test_main.html READY                       test_main.html:15
    test_embed.html READY                      (program):4
    

    브라우저 쇼 :

    test_embed.html


  11. 11.당신은 또한 그것에게 다음과 같은 방법을 수행 할 수 있습니다

    당신은 또한 그것에게 다음과 같은 방법을 수행 할 수 있습니다

    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
     $(document).ready(function(){
         $("#hide").click(function(){
         $("#test").hide();
         });
         $("#show").click(function(){
         $("#test").show();
         });
     });
    </script>
    </head>
    
    <body>
    <h2>This is a test of jQuery!</h2>
    <p id="test">This is a hidden paragraph.</p>
    <button id="hide">Click me to hide</button>
    <button id="show">Click me to show</button>
    </body>
    

    이전의 응답은 다른 블록 외부 .ready라는 기능이 단일 .ready 블록 또는 블록 .ready 단일 명명 함수 내에 복수라는 함수를 사용 하였다. .ready 블록 내부의 여러 이름이 기능을 가지고 할 수있는 방법이 있다면 연구하는 동안 나는이 질문을 발견 - 나는 구문이 올바른 가져올 수 없습니다. 나는 마지막으로 그것을 파악하고, 내 테스트 코드를 게시하여 내가 가지고 같은 질문에 대한 답을 찾고 다른 사람을 도움이 될 것으로 기대

  12. from https://stackoverflow.com/questions/1327756/can-you-have-multiple-document-readyfunction-sections by cc-by-sa and MIT license