Eventos em JavaScript: onClick e onChange Interativos

Os eventos são fundamentais para criar páginas dinâmicas e interativas, pois permitem capturar as ações do usuário e responder a elas de forma imediata. Neste estudo, veremos como funcionam os eventos no JavaScript, incluindo exemplos práticosClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. do uso de onClick, onChange e outros eventos importantes para a interação do usuário.

1. O que são Eventos no JavaScript?🔗

Em uma página web, eventos são ocorrências ou ações específicas que acontecem, como um clique de mouse, o pressionar de uma tecla ou a mudança de valor em um campo de formulárioIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário.. No JavaScript, podemos ouvir (“escutar”) esses eventos e reagir a eles através de funçõesFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas., chamadas de callbacksCallbacks, Promises e Async/AwaitCallbacks, Promises e Async/AwaitAprenda como aplicar programação assíncrona em JavaScript utilizando callbacks, promises e async/await. Melhore o fluxo do seu código de forma prática., que são executadas quando o evento ocorre.

Exemplos de eventos comuns:

2. Maneiras de Lidar com Eventos🔗

Existem diversas formas de interagir com eventos no JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente.. Duas maneiras bastante conhecidas são:

1. Atributos inline no HTMLO que é HTML? Fundamentos, História e Evolução da LinguagemO que é HTML? Fundamentos, História e Evolução da LinguagemDescubra a origem e evolução do HTML, entendendo sua importância na estrutura da web e como influenciou o desenvolvimento digital moderno.

Você insere o código JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. diretamente na tag HTML por meio de atributos como onclick, onchange etc.

<button onclick="alert('Você clicou em mim!')">Clique Aqui</button>

2. Listeners de Evento (Event Listeners)

Você seleciona o elemento via JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. e adiciona o evento separadamente com métodos como addEventListener.

<button id="meuBotao">Clique Aqui</button>
<script>
  const botao = document.getElementById('meuBotao');
  botao.addEventListener('click', () => {
    alert('Você clicou em mim!');
  });
</script>

3. onClick: Voltado para Cliques🔗

O onClick é um dos eventos mais usados. É disparado quando o usuário clica em um elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis., normalmente em botões. Em inline, ficaria assim:

<button onclick="minhaFuncao()">Clique-me!</button>
<script>
  function minhaFuncao() {
    alert('Botão clicado!');
  }
</script>

E com Event Listeners:

<button id="botaoClick">Clique-me!</button>
<script>
  const button = document.getElementById('botaoClick');
  button.addEventListener('click', () => {
    alert('Botão clicado via listener!');
  });
</script>

Executando Ações Mais Elaboradas

Podemos fazer muito mais do que simples alerts. Por exemplo, podemos alterar a cor de um elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. na tela:

<div id="areaMensagem" style="width: 100px; height: 100px; background-color: lightgreen;">
  Clique no botão para mudar minha cor
</div>
<button id="botaoCor">Mudar Cor</button>
<script>
  const divMensagem = document.getElementById('areaMensagem');
  const botaoCor = document.getElementById('botaoCor');
  botaoCor.addEventListener('click', () => {
    divMensagem.style.backgroundColor = 'lightblue';
  });
</script>

4. onChange: Detectando Mudanças🔗

O evento onChange é muito útil para lidar com alterações em campos de formulárioIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário., selects ou qualquer elemento que aceite entrada do usuário. Ele é disparado quando o valor de um elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. é modificado e depois perde o foco (ou, em alguns casos, imediatamente quando o valor muda).

Exemplo com Input de Texto

<label for="nome">Nome:</label>
<input type="text" id="nome" />
<div id="resultado"></div>
<script>
  const campoNome = document.getElementById('nome');
  const divResultado = document.getElementById('resultado');
  campoNome.addEventListener('change', (evento) => {
    divResultado.textContent = `O valor digitado foi: ${evento.target.value}`;
  });
</script>

Observe que usamos (evento) para recuperar o valor do input por meio de evento.target.value. Isso dá flexibilidade para manipular o conteúdo do campo em tempo real ou depois que a mudança acontece.

Exemplo com Seleção de Opções (Select)

<label for="corFavorita">Cor favorita:</label>
<select id="corFavorita">
  <option value="Vermelho">Vermelho</option>
  <option value="Verde">Verde</option>
  <option value="Azul">Azul</option>
</select>
<div id="corEscolhida"></div>
<script>
  const selectCor = document.getElementById('corFavorita');
  const divCorEscolhida = document.getElementById('corEscolhida');
  selectCor.addEventListener('change', (event) => {
    divCorEscolhida.textContent = `Você escolheu ${event.target.value}`;
  });
</script>

5. Outros Eventos Importantes🔗

Embora onClick e onChange sejam muito utilizados, existem muitos outros eventos relevantes:

EventoDescrição
onMouseOverDisparado quando o mouse entra na área de um elemento.
onMouseOutDisparado quando o mouse sai da área de um elemento.
onKeyDownOcorre quando uma tecla é pressionada.
onKeyUpOcorre quando a tecla é solta.
onFocusDisparado quando um elemento recebe foco (ex: ao clicar em um campo de texto).
onBlurDisparado quando um campo de formulário perde foco.
onSubmitOcorre ao submeter um formulário.

Esses eventos podem ser adicionados de forma similar, usando addEventListener('nomeDoEvento', callbackCallbacks, Promises e Async/AwaitCallbacks, Promises e Async/AwaitAprenda como aplicar programação assíncrona em JavaScript utilizando callbacks, promises e async/await. Melhore o fluxo do seu código de forma prática.) ou inline no HTMLO que é HTML? Fundamentos, História e Evolução da LinguagemO que é HTML? Fundamentos, História e Evolução da LinguagemDescubra a origem e evolução do HTML, entendendo sua importância na estrutura da web e como influenciou o desenvolvimento digital moderno..

6. Manipulando o Objeto de Evento🔗

Sempre que um evento ocorre, o JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. cria um objetoFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. de evento com várias propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. e métodos úteis. Nos exemplos anteriores, vemos que o parâmetro event ou e contém informações importantes como event.target (elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. que disparou o evento), event.currentTarget e muito mais.

Algumas propriedadesClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. que podem ser úteis:

Exemplo simples de uso de event.preventDefault() em um formulárioIntrodução a Formulários: `<form>`, `action`, `method`Introdução a Formulários: `<form>`, `action`, `method`Explore este tutorial sobre formulários HTML, conhecendo a função dos atributos action e method para envio seguro e organizado dos dados do usuário.:

<form id="meuFormulario">
  <label for="campoTexto">Digite algo:</label>
  <input type="text" id="campoTexto" />
  <button type="submit">Enviar</button>
</form>
<script>
  const formulario = document.getElementById('meuFormulario');
  formulario.addEventListener('submit', (event) => {
    event.preventDefault();
    alert('Formulário bloqueado, não enviamos ao servidor.');
  });
</script>

7. Conclusão🔗

Os eventos são peças-chave para tornar uma página mais interativa e criar uma experiência dinâmica para o usuário. Os principais destaques sobre eventos em JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. são:

1. Entender como e quando cada evento é disparado (cliques, mudanças, teclado, mouse etc.).

2. Escolher a melhor maneira de adicionar eventos (inline vs. addEventListener) de acordo com a estrutura do projeto.

3. Explorar o objetoFundamentos de Arrays e ObjetosFundamentos de Arrays e ObjetosDomine arrays e objetos em JavaScript com este tutorial narrativo. Aprenda a utilizar métodos e exemplos práticos para aprimorar seu desenvolvimento web. de evento, que oferece informações e métodosClasses e Herança em ES6+Classes e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. para controlar o fluxo de execução.

4. Aplicar boas práticas, como separar o código JavaScriptIntrodução ao JavaScript e Configuração do AmbienteIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. do HTML, organizando o projeto de forma mais limpa e sustentável.

Com esses conceitos, você tem o alicerce para construir interações ricas e responsivasResponsividade com HTML: Viewport e `<picture>`Responsividade com HTML: Viewport e `<picture>`Descubra como usar a meta viewport e o elemento picture para imagens responsivas, garantindo desempenho, usabilidade e SEO de qualidade. em suas aplicações web, ampliando a capacidade de engajamento e usabilidade de suas páginas.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Compartilhar artigo

Artigos Relacionados