Esse código precisa estar em um document.ready?

odocument.ready é usado para executar o código depois que o DOM é totalmente carregado. Isso pode ser usado para anexar manipuladores de eventos a elementos na página, por exemplo,

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

    }); 
}) 

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

Internamente, o jQuery conecta-se aDOMContentLoaded ewindow.onload como um fallback.No caso do IEé feita uma tentativa de rolar a viewport repetidamente até que.

Eu tenho algumas perguntas, minha primeira vez, ao ligar manipuladores de eventos aodocument em si, é necessário colocar esse código em umdocument.ready ? Eu sempre escrevi o código abaixo sem envolvê-lo em umdocument.ready

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

E como você pode ver,trabalho. Meu entendimento é que, como esse código não se conecta a nenhum elemento do documento, mas ao próprio documento, não há necessidade de envolvê-lo em um documento.document.ready manipulador. Outra razão que eu não envolvê-lo é porque eu costumava fazer o mesmo em JavaScript javascript o equivalente seria o código abaixo, que tambémtrabalho.

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

Eu vi inúmeros posts onde as pessoas o envolvem em umdocument.ready, existe alguma desvantagem de não envolver este código emdocument.ready ?

Também acho que esta questão decorre da minha falta de clareza do que acontece durante este tempo quando o DOM está sendo construído, por isso, se alguém pode explicar o que acontece durante o período imediatamente antes do DOM estar pronto. Para mim o documento épronto quando o html foi analisado e convertido em uma árvore DOM, ou existe mais?

Em resumo, aqui estão minhas perguntas

Ao vincular manipuladores de eventos aodocument em si, é necessário colocar esse código em umdocument.ready.Existe alguma desvantagem em não envolver o código nodocument.ready ?Que seqüência de eventos ocorre quando o documento está sendo construído, logo antes dadocument.ready está demitido?

questionAnswers(7)

yourAnswerToTheQuestion