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?