Na aula anterior, entendemos como funcionam os eventos, os event handlers e o objeto event.
Agora vamos responder uma dúvida muito comum:
Quando exatamente o JavaScript pode começar a manipular o DOM?
Para isso, precisamos entender dois eventos importantes:
DOMContentLoadedload
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender o processo de carregamento da página
- Saber a diferença entre
DOMContentLoadedeload - Escolher o evento certo para cada situação
- Evitar erros de DOM não carregado
O que acontece quando a página carrega?
Quando o navegador abre uma página, ele segue alguns passos:
- Carrega o HTML
- Constrói o DOM
- Carrega arquivos externos (imagens, CSS, fontes)
- Finaliza o carregamento
Os eventos DOMContentLoaded e load acontecem em momentos diferentes desse processo.
O evento DOMContentLoaded
O DOMContentLoaded é disparado quando:
- Todo o HTML foi carregado
- O DOM foi construído
Ele não espera:
- Imagens
- CSS
- Fontes
Exemplo com DOMContentLoaded
document.addEventListener("DOMContentLoaded", function ()
{
const titulo = document.getElementById("titulo");
titulo.textContent = "DOM pronto!";
}); Aqui garantimos que o elemento já existe no DOM.
O evento load
O evento load é disparado quando:
- HTML foi carregado
- DOM foi construído
- Imagens foram carregadas
- CSS foi carregado
- Fontes foram carregadas
Ou seja: quando tudo está completamente pronto.
Exemplo com load
window.addEventListener("load", function () { console.log("Página totalmente carregada"); }); console.log("Página totalmente carregada"); // Saída será exibida após todos os recursos carregarem Qual devo usar?
Na maioria dos casos:
Ele é mais rápido e suficiente para:
- Manipular DOM
- Adicionar eventos
- Criar elementos dinamicamente
Quando usar load?
Use load quando você precisa:
- Saber o tamanho real de imagens
- Trabalhar com canvas
- Depender de fontes carregadas
E se o script estiver no final do HTML?
Se o script estiver antes de </body>, o DOM já estará carregado.
Nesse caso, muitas vezes nem é necessário usar eventos de carregamento.
DOMContentLoaded por segurança. Resumo comparativo
- DOMContentLoaded → DOM pronto
- load → tudo pronto
- DOMContentLoaded é mais rápido
- load é mais completo
Resumo da aula para nunca mais esquecer
DOMContentLoadedindica que o DOM está prontoloadespera todos os recursos- Use o evento certo para cada cenário
- Evite manipular o DOM antes do carregamento
- Essencial para evitar bugs silenciosos
Na próxima aula, vamos estudar os eventos de mouse em detalhes.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Galaxy Game
As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.
Mouse
O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.
Inteligência artificial
O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Pac Man
Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.










