Muss dieser Code in einem Dokument vorhanden sein?

Dasdocument.ready wird verwendet, um Code auszuführen, nachdem das DOM vollständig geladen wurde. Dies kann verwendet werden, um Ereignishandler an Elemente auf der Seite anzuhängen, z

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

    }); 
}) 

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

Intern verbindet sich jQuery mitDOMContentLoaded undwindow.onload als ein Fallback.Im Fall von IEEs wird versucht, das Ansichtsfenster immer wieder zu scrollen, bis es erfolgreich ist.

Ich habe ein paar Fragen, von denen meine erste ist, wenn ich Ereignishandler an die bindedocument selbst, ist es notwendig, diesen Code in ein zu setzendocument.ready ? Ich habe den folgenden Code immer geschrieben, ohne ihn in a zu verpackendocument.ready

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

Und wie Sie sehen können, ist esfunktioniert. Meines Wissens nach muss dieser Code nicht mit Elementen im Dokument verknüpft werden, sondern nur mit dem Dokument selbstdocument.ready Handler. Ein weiterer Grund, warum ich es nicht einpacke, ist, dass ich das gleiche in Vanille-Javascript getan habe. Das Äquivalent wäre der folgende Code, der auchfunktioniert.

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

Ich habe zahlreiche Posts gesehen, in denen Leute es in einen Zeilenumbruch packendocument.readyGibt es einen Nachteil, diesen Code nicht einzuschließen?document.ready ?

Ich denke auch, dass diese Frage von meiner Unklarheit herrührt, was während dieser Zeit passiert, wenn das DOM gebaut wird. Wenn also jemand erklären kann, was während des Zeitraums passiert, bevor das DOM fertig ist. Für mich ist das Dokumentbereit Wann wurde der HTML-Code analysiert und in einen DOM-Baum konvertiert?

Zusammenfassend sind hier meine Fragen

Beim Binden von Ereignishandlern an diedocument selbst, ist es notwendig, diesen Code in ein zu setzendocument.ready.Gibt es irgendwelche Nachteile, wenn der Code nicht in den Zeilenumbruch eingeschlossen wird?document.ready ?Welche Abfolge von Ereignissen findet statt, wenn das Dokument erstellt wird, direkt vor demdocument.ready ist gefeuert?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage