Criar páginas web interativas com JavaScript exige a compreensão e o controle dos eventos que ocorrem durante a navegação do usuário. Os eventos permitem que desenvolvedores capturem e respondam a ações como cliques, digitação, movimentação do mouse ou envio de formulários. Neste artigo vamos apresentar exemplos práticos para adicionar, manipular e controlar eventos, transformando elementos estáticos em componentes dinâmicos.
Eventos na web são interações que ocorrem em uma página ou aplicação, representando ações realizadas pelos usuários ou pelo sistema. Eles englobam desde simples cliques em botões até a digitação de caracteres e a movimentação do mouse. Quando um evento é acionado, ele pode desencadear respostas específicas do navegador, permitindo interações dinâmicas com elementos da página.
Alguns exemplos de eventos comuns:
Estes eventos são a base para criar comportamentos dinâmicos, e a manipulação adequada deles possibilita melhorar a interatividade da página e proporcionar uma experiência do usuário mais rica.
A manipulação de eventos em JavaScript é feita por meio de “ouvintes de eventos” (event listeners), que “ouvem” quando um evento específico acontece e, em seguida, executam uma função chamada manipulador de eventos (event handler).
O método “addEventListener” é uma maneira moderna e flexível de adicionar manipuladores de eventos a elementos HTML.
Alguns eventos fornecem informações adicionais através de um objeto de evento, acessível como parâmetro da função associada. Este objeto contém detalhes como o elemento acionador e a posição do cursor.
Aqui, a função associada recebe um parâmetro chamado “event”, que contém informações sobre o evento. Utilizamos “event.target.tagName” para exibir no console o nome do elemento clicado (neste caso, será “INPUT”).
Isso pode ser útil para validar entradas de formulário em tempo real, fornecendo feedback instantâneo ao usuário, rastrear cliques, analisar o comportamento do usuário ou criar elementos interativos baseados na posição do clique.
Quando precisamos evitar que um comportamento previamente associado a um evento continue ocorrendo, podemos utilizar o método “removeEventListener”. Essa abordagem é útil em situações onde a funcionalidade precisa ser desativada temporária ou permanentemente, como pausar interações em um botão após um clique ou desativar um evento de movimento do mouse para melhorar o desempenho. Para usar esse método, é necessário que a função associada ao evento tenha um nome definido.
A função “mostrarMensagem” é adicionada ao evento click do botão “Ativar” usando “addEventListener”. No botão “Desativar”, usamos “removeEventListener” para remover o evento associado ao botão “Ativar”. Um alerta é exibido para informar que o evento foi desativado.
Existem diversos eventos disponíveis em JavaScript. Vamos explorar os mais utilizados, organizados por categoria.
|
Evento |
Descrição |
|
click |
Disparado ao clicar em um elemento. |
|
dblclick |
Disparado ao dar um duplo clique. |
|
mouseenter |
Disparado ao mover o cursor para um elemento. |
|
mouseout |
Disparado ao mover o cursor para fora de um elemento. |
|
mousemove |
Disparado ao mover o cursor dentro de um elemento. |
Agora vamos exemplificar utilizando o evento “’mousemove”:
Passe o mouse aqui
No exemplo acima, o evento “mousemove” é usado para detectar o movimento do cursor dentro da área. O objeto “event” fornece as coordenadas do cursor, acessadas através de “event.clientX” e “event.clientY”, que são exibidas no console.
Esses eventos monitoram interações em campos de entrada de dados. Eles podem ser utilizados para destacar visualmente os campos ativos em um formulário, ajudando o usuário a identificar claramente onde está digitando.
Evento | Descrição |
input | Disparado sempre que o valor de um campo muda. |
focus | Disparado quando um campo recebe o foco. |
blur | Disparado quando um campo perde o foco. |
Exemplo com evento “focus” e “blur”:
O evento focus altera a cor de fundo do campo para amarelo quando ele recebe o foco, ou seja, quando clicamos no input. Já o evento blur restaura a cor original quando o campo perde o foco.
Esses eventos lidam com interações relacionadas ao teclado. Eles são úteis para implementar funcionalidades como atalhos de teclado, captura de comandos personalizados, preenchimento dinâmico de campos ou interações baseadas em teclas específicas
|
Evento |
Descrição |
|
keydown |
Disparado ao pressionar uma tecla. |
|
keyup |
Disparado ao soltar uma tecla. |
Abaixo temos um exemplo de tratamento do evento keydown
Neste exemplo, o evento “keydown” é usado para capturar a tecla pressionada pelo usuário. O texto exibido no elemento com id definido como “Resultado” é atualizado com a tecla correspondente, acessada através de “event.key”.
Existem muitos outros eventos além dos mostrados, e para cada necessidade específica, você deve buscar o evento que melhor se adequa ao seu caso. A escolha do evento certo depende do comportamento que você deseja capturar, como interações do usuário, mudanças no conteúdo ou animações. Com a prática, você aprenderá a combinar eventos e a criar comportamentos dinâmicos para melhorar a experiência do usuário. Consulte a documentação para explorar mais opções e aprimorar suas habilidades em JavaScript.