Skip to content

Eventos

Os eventos são fundamentais no desenvolvimento web, permitindo que as páginas reajam a ações do usuário, como cliques, rolagens, pressionamentos de tecla e muito mais. Entender e implementar manipuladores de eventos é essencial para criar interfaces dinâmicas e interativas em suas aplicações. Este módulo foca em equipá-lo com o conhecimento necessário para compreender profundamente os eventos em JavaScript e como utilizá-los para enriquecer a experiência do usuário.

Objetivos

  1. Compreender Eventos em JavaScript: Aprender sobre os diferentes tipos de eventos disponíveis no ambiente do navegador e como eles interagem com o DOM.
  2. Implementar Manipuladores de Eventos: Dominar técnicas para adicionar e remover ouvintes de eventos que permitem interagir com o usuário de maneira eficaz.

Tópicos Detalhados

Tipos de Eventos

  • Eventos de Mouse: Clique (click), duplo clique (dblclick), movimento do mouse (mousemove), etc.
  • Eventos de Teclado: Pressionar tecla (keydown), soltar tecla (keyup), e entrada de tecla (keypress).
  • Eventos de Formulário: Envio (submit), mudança (change), e foco (focus).
  • Eventos de Tela: Redimensionamento da janela (resize), rolagem da página (scroll).

Manipuladores de Eventos

  • Adicionando Eventos: Uso de addEventListener para vincular uma função a um evento, proporcionando controle e flexibilidade.
  • Removendo Eventos: Uso de removeEventListener para desvincular eventos, essencial para evitar vazamentos de memória em aplicações dinâmicas.
  • Propagação de Eventos: Entendimento de como eventos propagam no DOM e como usar stopPropagation e preventDefault para controlar esse comportamento.

Atividade Prática

Para solidificar sua compreensão dos eventos e manipuladores de eventos, você desenvolverá uma aplicação que responde a eventos do usuário. Algumas ideias para a atividade prática incluem:

  • Galeria de Imagens Dinâmica: Crie uma galeria onde clicar em uma imagem a expande para visualização completa.
  • Jogo Simples: Desenvolva um jogo simples como "jogo da velha" ou "simon diz", utilizando cliques e eventos de teclado.

Desenvolvimento de uma Aplicação Interativa

Aplicação: Teclado Virtual

  • Objetivo: Criar um teclado virtual na tela que os usuários podem usar com o mouse ou teclado físico.
  • Funcionalidades:
    • Clique nas teclas virtuais para digitar em um campo de texto na página.
    • Pressione as teclas do teclado físico e veja a tecla correspondente destacar-se no teclado virtual.
javascript
document.addEventListener("DOMContentLoaded", function () {
  const keys = document.querySelectorAll(".key");
  const textInput = document.querySelector("#text-input");

  keys.forEach((key) => {
    key.addEventListener("click", function () {
      textInput.value += this.textContent;
    });
  });

  document.addEventListener("keydown", function (e) {
    const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
    if (key) {
      key.classList.add("active");
      textInput.value += key.textContent;
    }
  });

  document.addEventListener("keyup", function (e) {
    const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
    if (key) {
      key.classList.remove("active");
    }
  });
});

Conclusão

Ao concluir, você terá um entendimento robusto sobre o manuseio de eventos em JavaScript, permitindo-lhe construir aplicações que não só respondem de maneira eficaz aos inputs dos usuários mas também proporcionam uma experiência rica e interativa. Isso é crucial para qualquer desenvolvedor que deseje criar websites modernos e responsivos.