Se você está começando a programar em JavaScript, uma das funcionalidades mais importantes que você vai encontrar são os manipuladores de eventos. Eles são usados para capturar e responder a interações do usuário, como cliques, rolagem de página, pressionamento de teclas, entre outros. Neste post, fique por dentro dos Manipuladores de eventos em JavaScript.

O que é um evento?

Um evento é qualquer interação que acontece em uma página web. Por exemplo:

  • Um clique de mouse.
  • Pressionar uma tecla no teclado.
  • O carregamento completo de uma página.

JavaScript permite que você associe funções a esses eventos, para que algo aconteça sempre que o usuário realizar uma ação.

Adicionando um manipulador de eventos

Para adicionar um manipulador de eventos, usamos o método addEventListener. Ele é a maneira mais comum de escutar eventos em elementos HTML. O formato básico é:

elemento.addEventListener(tipoEvento, funcao);
  • elemento: O elemento HTML que vai receber o evento (por exemplo, um botão ou um input);

  • tipoEvento: O tipo de evento que você quer escutar, como click, keydown, mouseover, etc;

  • funcao: A função que será executada quando o evento ocorrer.

Exemplo prático: Clique em um botão

Vamos ver um exemplo prático. Aqui está o código de um botão que exibe uma mensagem no console quando clicado:

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Exemplo de Evento</title>
</head>
<body>
  <button id="meuBotao">Clique em mim</button>

  <script>
    const botao = document.getElementById('meuBotao');

    botao.addEventListener('click', function() {
      console.log('Você clicou no botão!');
    });
  </script>
</body>
</html>

Aqui, estamos usando o evento click para ouvir o momento em que o usuário clica no botão e, em seguida, exibimos uma mensagem no console.

Manipuladores de eventos comuns

Aqui estão alguns dos eventos mais comuns que você pode usar:

click: Disparado quando o usuário clica em um elemento.

    elemento.addEventListener('click', funcao);

    keydown: Disparado quando o usuário pressiona uma tecla.

    elemento.addEventListener('keydown', funcao);

    mouseover: Disparado quando o usuário passa o cursor sobre um elemento.

    elemento.addEventListener('mouseover', funcao);

    submit: Disparado quando um formulário é enviado.

    formulario.addEventListener('submit', funcao);

    scroll: Disparado quando o usuário rola a página.

    window.addEventListener('scroll', funcao);

    Removendo um manipulador de eventos

    Para remover um manipulador de eventos, você pode usar o método removeEventListener. Ele deve ser chamado com os mesmos parâmetros que o addEventListener.

    elemento.removeEventListener('click', funcao);

    Funções inline x addEventListener

    Você também pode adicionar manipuladores de eventos diretamente no HTML usando atributos como onclick, mas a prática recomendada é usar o addEventListener, pois é mais flexível e separa a lógica JavaScript do HTML, tornando o código mais fácil de manter.

    Outros eventos

    Manipuladores de eventos em Javascript servem para interfacear um script com atividades do sistema ou ações do usuário. Eles são divididos em 2 categorias: eventos de sistema e eventos de mouse.

    Os eventos de sistema disponíveis são: OnLoad e OnUnload. Eles não exigem a interação do usuário para serem ativados.

    Os eventos de mouse disponíveis são: OnClick, OnFocus, OnBlur, OnChange, OnSelect, OnSubmit e OnMouseOver. Eles exigem a interação do usuário (através do mouse ou não) para serem ativados.

    Exemplos de eventos de sistema:

    Evento OnLoad

    Este evento é ativado após a página HTML ser completamente carregada. Ele pode ser associado às tags <BODY> ou <FRAMESET>:

    <html>
     <head>
      <script language="Javascript">
      function chegada() {
       window.alert("Seja bem-vindo ao nosso site!");
       }
      </script>
     </head>
    <body OnLoad="chegada()">
    Veja que interessante a utilização do evento <I>OnLoad</I>.
    </body>
    </html>

    Evento OnUnload

    Este evento é ativado após a página HTML ser abandonada (seja através do clique sobre algum link, ou sobre os botões de avanço/retrocesso do browser). Ele pode ser associado às tags<BODY> ou <FRAMESET>:

    <html>
     <head>
      <script language="Javascript">
       function saida() {
       window.alert("Volte sempre!");
      }
     </script>
    </head>
    <body OnUnload="saida()">
    Veja que interessante a utilização do evento <I>OnUnLoad</I>.
    </body>
    </html>

    Exemplos de eventos de mouse:

    Evento OnClick

    O evento mais básico de mouse é tratado pelo manipulador OnClick. Este evento é ativado sempre que se dá um clique sobre um objeto que aceita evento de clique de mouse.

    Objetos que aceitam um evento OnClick são links, caixas de verificação e botões:

    <html>
     <head>
      <script language="Javascript">
       function mensagem() {
       window.alert("Você clicou neste campo!");
      }
     </script>
    </head>
    <body>
     <a href="exemplo.html" OnClick="mensagem()">
     <i>Link</i> comum</a><br>
     <form>
      <input type="radio" OnClick="mensagem()"><i>Radio</i>
      <br>
      <input type="checkbox" OnClick="mensagem()"><i>Checkbox</i>
      <br>
      <input type="reset" OnClick="mensagem()">
      <br>
      <input type="submit" OnClick="mensagem()">
      <br>
     </form>
    </body>
    </html>

    Evento OnFocus

    O foco ocorre quando um objeto torna-se o item em foco. Isto acontece quando o usuário clicar ou alternar para um objeto específico na página.

    Este evento pode ser associado aos objetos text, password, textarea e select (definidos pelas tags <INPUT>, <TEXTAREA> e <SELECT>):

    <html>
    <head>
    <script language="Javascript">
    function foco() {
       window.alert("O campo E-mail está em foco!");
    }
    </script>
    </head>
     <body>
      <form>
       Nome: <input name="nome" type="text"><br>
       Email: <input name="email" type="text" OnFocus="foco()"><br>
       Telefone: <input name="telefone" type="text">
     </form></body>
    </html>

    Muitas vezes, os dados que são inseridos em um formulário precisam ser separados, analisados, manipulados ou verificados quanto a erros antes de serem transmitidos para o servidor.

    O evento OnSubmit permite a captura e, se necessário, a interrupção do envio dos dados de um formulário. Isto é realizado chamando-se a função a partir do manipulador OnSubmit, fazendo com que ela retorne verdadeiro ou falso.

    Se a função associada ao manipulador retornar falso, os dados do formulário não serão enviados. Esta funcionalidade pode ser verificada a partir do código a seguir:

    <html>
    <head>
    <script language="Javascript">
    function submete() {
    if (document.form1.campo1.value == "" ||
        document.form1.campo2.value == "") {
              return false;
    }
     else {
              return true;
    }
    }
    </script>
    </head>
    <body bgcolor=white link=blue vlink=blue alink=blue>
     <form name=form action="exemplo.html" 
          OnSubmit="return submete()">
      Campo 1: <input type="text" size=10 name=campo1>
      <br>
      Campo 2: <input type="text" size=10 name=campo2>
      <p>
      <input type=submit>
     </form>
    </body>
    </html>

    Manipuladores de eventos são ferramentas poderosas em JavaScript que permitem criar interações dinâmicas nas suas páginas. Com a prática, você vai aprender a usar eventos para melhorar a experiência do usuário e tornar suas páginas mais interativas.

    QUER SER UM PROGRAMADOR FULL-STACK E DOMINAR AS PRINCIPAIS TECNOLOGIAS DO MERCADO?

    Aprenda através de projetos reais e aulas práticas. São 20 cursos completos + cursos bônus. Grupos privados exclusivos, atualizações constantes e lives semanais.

    Python, PHP, Java Script, CSS, Node, Angular JS, MySQL, Photoshop, Flutter, AWS, Apache e muito mais!

    CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

    CLIQUE AQUI E SAIBA MAIS

    Dúvidas ou sugestões sobre manipuladores de eventos em Java Script? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
    https://youtube.com/criandobits

    Tags:

    Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

    Não enviamos spam. Seu e-mail está 100% seguro!

    Sobre o Autor

    Bene Silva Júnior
    Bene Silva Júnior

    Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

    0 Comentários

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *