Czy ten kod musi być w dokumencie. Już?

Thedocument.ready jest używany do wykonania kodu po pełnym załadowaniu DOM. Można to wykorzystać do dołączenia modułów obsługi zdarzeń do elementów na stronie, np

$(function(){ 
    $('#somediv').click(function(){ 

    }); 
}) 

<div id="somediv"> </div> 

Wewnętrznie, jQuery łączy się zDOMContentLoaded iwindow.onload jako upadek.W przypadku IEpodjęto próbę przewijania widoku w kółko, aż do pomyślnego zakończenia.

Mam kilka pytań, z których pierwsze to powiązanie obsługi zdarzeń zdocument czy konieczne jest umieszczenie tego kodu wdocument.ready ? Zawsze pisałem poniższy kod bez zawijania go wdocument.ready

$(document).keydown(function(e){
    if (e.which == 39) { 
       alert( "right arrow pressed" );
       return false;
    }
});

I jak widać, toPrace. Zrozumiałem, że skoro ten kod nie łączy się z żadnymi elementami w dokumencie, ale z samym dokumentem, nie ma potrzeby zawijania godocument.ready treser. Innym powodem, dla którego nie zawijam, jest to, że robiłem to samo w vanilla javascript odpowiednikiem byłby poniższy kod, który równieżPrace.

document.onkeydown = function(){
var keyCode = event.keyCode || event.which;   
    if (keyCode == 39) { 
       alert( "right arrow pressed" );
       return false;
    }
}

Widziałem wiele postów, w których ludzie zawijają jedocument.ready, czy jest jakiś minus nie zawijania tego kodudocument.ready ?

Myślę też, że to pytanie wynika z mojego braku jasności, co dzieje się w tym czasie, gdy DOM jest konstruowany, więc jeśli ktoś może wyjaśnić, co dzieje się w okresie tuż przed przygotowaniem DOM. Dla mnie dokument jestgotowy kiedy kod HTML został przeanalizowany i przekonwertowany na drzewo DOM, czy jest w nim coś więcej?

Podsumowując, oto moje pytania

Podczas wiązania obsługi zdarzeń dodocument czy konieczne jest umieszczenie tego kodu wdocument.ready.Czy są jakieś wady, aby nie zawijać kodu wdocument.ready ?Jaka sekwencja zdarzeń ma miejsce, gdy dokument jest tworzony, tuż przeddocument.ready jest zwolniony?

questionAnswers(7)

yourAnswerToTheQuestion