Até aqui, vimos eventos de mouse e teclado. Mas a maior parte da interação do usuário com uma aplicação acontece em inputs, formulários e campos de texto.
Nesta aula, vamos aprender os eventos certos para lidar com digitação, foco, mudanças de valor e envio de formulários.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Usar eventos de formulário corretamente
- Entender a diferença entre
inputechange - Capturar foco e perda de foco
- Controlar o envio de formulários
- Criar validações em tempo real
O evento input
O evento input é disparado toda vez que o valor do campo muda.
Ele é ideal para validações em tempo real.
const campo = document.getElementById("nome");
campo.addEventListener("input", (event) =>
{
console.log(event.target.value);
});
console.log(event.target.value); // Saída será o texto digitado em tempo real input vs keydown
Diferença importante:
keydown→ detecta a teclainput→ detecta o valor final
input. O evento change
O change é disparado quando:
- O valor muda
- E o campo perde o foco
campo.addEventListener("change", () => { console.log("Valor confirmado"); }); console.log("Valor confirmado"); // Saída ocorre ao sair do campo Muito usado para:
- Selects
- Confirmações de valor
focus e blur
Esses eventos detectam quando o campo ganha ou perde foco.
campo.addEventListener("focus", () =>
{
console.log("Campo em foco"); });
campo.addEventListener("blur", () =>
{
console.log("Campo perdeu foco");
});
console.log("Campo em foco"); // Ao clicar no campo console.log("Campo perdeu foco"); // Ao sair do campo Eles são muito usados para:
- Mostrar mensagens de ajuda
- Validações
- Destaques visuais
O evento submit
O submit é disparado quando o formulário é enviado.
const form = document.getElementById("formulario");
form.addEventListener("submit", (event) =>
{
event.preventDefault();
console.log("Formulário enviado");
});
console.log("Formulário enviado"); // Saída ocorre ao clicar em enviar O preventDefault impede o recarregamento da página.
Exemplo real: validação simples
campo.addEventListener("input", () => { if (campo.value.length < 3) { campo.classList.add("erro"); } else { campo.classList.remove("erro"); } }); Aqui combinamos:
- Evento
input - Manipulação de classes CSS
Boas práticas com formulários
- Use
inputpara texto em tempo real - Use
changepara confirmação - Use
submitno formulário, não no botão - Sempre trate o envio com
preventDefault
Resumo da aula para nunca mais esquecer
inputreage a cada mudança de valorchangereage após confirmaçãofocuseblurcontrolam focosubmitcontrola o envio do formulário- Essenciais para validações e UX
Na próxima aula, vamos fechar esse mini-bloco com uma introdução ao Drag and Drop.
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?
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.
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.
Mega Man
A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.
Final Fantasy X
O jogo Final Fantasy X para o Sony Playstation 2 vendeu, apenas no dia do seu lançamento, 1.455.732 cópias, estabelecendo um recorde de vendagem para as primeiras 24 horas de um game. Méritos da SquareSoft, que desenvolveu um excelente produto!
Playstation
O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.










