Eventos - JavaScript Cristiano Pires Martins Fontes: http://www.linhadecodigo.com.br http://www.devmedia.com.br http://ricvelozo.blogspot.com.br
Eventos • Eventos são procedimentos executados em consequência a uma ação. • Exemplo: • Quando o usuário clica em um botão, é disparado um evento deste elemento chamado “click”. • Quando se pressiona uma tecla sobre outro elemento, é disparado um evento chamado “keydown” e quando a tecla é solta, o evento “keyup” é disparado.
Exemplo de eventos • Um clique no mouse • O carregamento de uma página ou imagem web • Quando o mouse passa sobre um anúncio em uma página web • Selecionar um campo de entrada em um formulário HTML • Submeter um formulário HTML • Pressionar uma tecla
Propriedade de Eventos • Na linguagem HTML, os objetos possuem propriedades que dão acessos aos seus eventos. • Essas propriedades têm o nome iniciando com “on”, seguido do nome do evento. • Por exemplo, a propriedade “onclick” dá acesso ao evento click de um elemento.
Como chamar um script usando eventos • Uma boa forma de lidar com eventos é usar event listeners. • Crie uma função mestra, que chame todas as funções que deseja executar automaticamente, e a chame através do evento onload do elemento <body>. function funcaoMestra() { função1(); função2(); /* ... */ } <body onload="funcaoMestra();">
Boas práticas • Uma boa prática em programação é separar o código por propósito. • As páginas web podem ser separadas em três partes: estrutura (HTML), apresentação (CSS) e funcionalidade (JavaScript). • Em JavaScript, usa-se event listeners.
O que é event listener? • Um event listener é uma função associada a um evento de um elemento HTML. • Dentro dessa função, o comando this serve como uma referência ao elemento que acionou o event listener. • É comum o uso de atributos relacionados a eventos, como onclick e onfocus, mas deste modo, não há separação e a função fica comprimida em uma linha, o que não é bom para scripts grandes. • Também é possível chamar uma função através desses atributos, mas desta forma se perde um pouco da flexibilidade. • A forma ideal é adicioná-los usando a função addEventListener(), ou o atributo relacionado ao evento, dentro do JavaScript.
event handlers • O tratamento de eventos geralmente é feito a partir de funções nas quais se implementa o código que deve ser executado quando o evento ocorrer. • Essas funções são chamadas de “event handlers” (tratadores de evento).
Definindo event handlers • Os event handlers são funções que contém o código a ser executado na ocorrência de um evento. • Em Javascript, podemos criar uma função utilizando a sintaxe padrão e fazer a chamada a essa função na propriedade de evento, informando seu nome e possíveis parâmetros no lugar onde se colocaria o código diretamente
exemplo 2 <!doctype html> <html> <head>     <meta charset="UTF-8"/>     <script type="text/javascript">     function exibirMensagem()     {         var data = new Date();         alert(data.toString());     }     </script> </head> <body>     <button id="btn" onclick="exibirMensagem();">Clique aqui</button> </body> </html>
Tratando eventos com a função addEventListener • A função “addEventListener”, nativa da linguagem Javascript, permite ligar um evento de um objeto a uma função que fará seu tratamento. • Usando essa função, não é preciso definir a propriedade de evento do objeto diretamente, pois isso será feito via código, dinamicamente. • No exemplo a seguir, temos a mesma função exibir mensagem, mas dessa vez a ligamos ao evento click do botão usando a addEventListener.
exemplo 3 <!doctype html> <html> <head>     <meta charset="UTF-8"/> </head> <body>     <button id="btn">Clique aqui</button>     <script type="text/javascript">         function exibirMensagem()         {             var data = new Date();             alert(data.toString());         }         var btn = document.getElementById("btn");         btn.addEventListener("click", exibirMensagem);     </script> </body> </html> Coloque o script em um arquivo.js
função addEventListener • Nesse caso foi preciso usar a função “getElementById” para selecionar o objeto cujo evento seria tratado, no caso, o botão. • O primeiro parâmetro da addEventListener é o nome do evento que será tratado, nesse caso, “click”. O segundo é o nome da função que será executada. • Essa forma dá mais flexibilidade ao código, pois deixa o código HTML independente do Javascript. Todas as modificações necessárias são feitas no script, sem precisar alterar a tag.
Eventos • onBlur
 Este evento representa a perda de foco de um componente, por exemplo, o usuário está digitando o CEP em um formulário e tecla TAB ou clica em outro  campo do formulário, pode-se neste momento disparar uma função que valida o CEP. • onChange
 Já este representa a mudança do valor de um componente. Por exemplo, o usuário seleciona numa lista o mês desejado para uma consulta, uma ação de filtro é disparada sobre uma tabela, que passa a listar os dados somente do mês selecionado. • onClick
 Ao clicar o botão do mouse sobre um elemento da página, geralmente um botão ou um link. • onDragDrop
 Refere-se a ação de arrastar e soltar algo sobre uma página web.
• onFocus
 Este evento onFocus, é exatamente o contrário de onBlur. Acontece quando um elemento da página recebe o focu da aplicação. • onLoad
 Representa que a página ou as imagens acabaram de ser carregadas. • onMouseOver
 Quando o mouse passa sobre um elemento da página. • onSubmit
 Quando um formulário é submetito, precisamente antes do envio. Eventos
Evento onload<!DOCTYPE html> <html> <head> <title>Usando eventos no Javascript</title> </head> <body onload="checkCookies()"> <script> function checkCookies() { if (navigator.cookieEnabled==true) { alert("Cookies são permitidos") } else { alert("Cookies não são permitidos") } } </script> <p>Irá aparecer um alert dizendo se os cookies estão ou não liberados em seu navegador</p> </body> </html>
Evento onChange <!DOCTYPE html> <html> <head> <title>Usando eventos no Javascript</title> <script> function myFunction() { var x=document.getElementById("fname"); x.value=x.value.toUpperCase(); } </script> </head> <body> Insira seu Nome: <input type="text" id="fname" onchange="myFunction()"> <p> Ao clicarmos fora do input text o texto escrito nele ficará todo em caixa alta.</p> </body> </html>
OnMouseOver e OnMouseOut <!DOCTYPE html> <html> <head> <title>Usando eventos no Javascript</title> </head> <body> <div onmouseover="mOver(this)" onmouseout=“mOut(this)" style=“ background-color:#D94A38; width:120px; height:20px; padding:40px;">Passe o mouse em mim</div> <script> function mOver(obj) { obj.innerHTML=“Obrigado"; } function mOut(obj) { obj.innerHTML="Passe o mouse em mim”; } </script> </body> </html>
onmousedown, onmouseup e onclick <!DOCTYPE html> <html> <head> <title>Eventos no Javascript</title> </head> <body> <div onmousedown="mDown(this)" onmouseup="mUp(this)" style=“background-color:#D94A38; width:90px; height:20px; padding: 40px;">Clique aqui</div> <script> function mDown(obj){ obj.style.backgroundColor=“#1EC5E5"; obj.innerHTML="Solte o clique”; } function mUp(obj){ obj.style.backgroundColor="#D94A38" obj.innerHTML="Obrigado" } </script> </body> </html>

Java script aula 07 - eventos

  • 1.
    Eventos - JavaScript CristianoPires Martins Fontes: http://www.linhadecodigo.com.br http://www.devmedia.com.br http://ricvelozo.blogspot.com.br
  • 2.
    Eventos • Eventos sãoprocedimentos executados em consequência a uma ação. • Exemplo: • Quando o usuário clica em um botão, é disparado um evento deste elemento chamado “click”. • Quando se pressiona uma tecla sobre outro elemento, é disparado um evento chamado “keydown” e quando a tecla é solta, o evento “keyup” é disparado.
  • 3.
    Exemplo de eventos •Um clique no mouse • O carregamento de uma página ou imagem web • Quando o mouse passa sobre um anúncio em uma página web • Selecionar um campo de entrada em um formulário HTML • Submeter um formulário HTML • Pressionar uma tecla
  • 4.
    Propriedade de Eventos •Na linguagem HTML, os objetos possuem propriedades que dão acessos aos seus eventos. • Essas propriedades têm o nome iniciando com “on”, seguido do nome do evento. • Por exemplo, a propriedade “onclick” dá acesso ao evento click de um elemento.
  • 5.
    Como chamar umscript usando eventos • Uma boa forma de lidar com eventos é usar event listeners. • Crie uma função mestra, que chame todas as funções que deseja executar automaticamente, e a chame através do evento onload do elemento <body>. function funcaoMestra() { função1(); função2(); /* ... */ } <body onload="funcaoMestra();">
  • 6.
    Boas práticas • Umaboa prática em programação é separar o código por propósito. • As páginas web podem ser separadas em três partes: estrutura (HTML), apresentação (CSS) e funcionalidade (JavaScript). • Em JavaScript, usa-se event listeners.
  • 7.
    O que éevent listener? • Um event listener é uma função associada a um evento de um elemento HTML. • Dentro dessa função, o comando this serve como uma referência ao elemento que acionou o event listener. • É comum o uso de atributos relacionados a eventos, como onclick e onfocus, mas deste modo, não há separação e a função fica comprimida em uma linha, o que não é bom para scripts grandes. • Também é possível chamar uma função através desses atributos, mas desta forma se perde um pouco da flexibilidade. • A forma ideal é adicioná-los usando a função addEventListener(), ou o atributo relacionado ao evento, dentro do JavaScript.
  • 8.
    event handlers • Otratamento de eventos geralmente é feito a partir de funções nas quais se implementa o código que deve ser executado quando o evento ocorrer. • Essas funções são chamadas de “event handlers” (tratadores de evento).
  • 9.
    Definindo event handlers •Os event handlers são funções que contém o código a ser executado na ocorrência de um evento. • Em Javascript, podemos criar uma função utilizando a sintaxe padrão e fazer a chamada a essa função na propriedade de evento, informando seu nome e possíveis parâmetros no lugar onde se colocaria o código diretamente
  • 10.
    exemplo 2 <!doctype html> <html> <head>     <metacharset="UTF-8"/>     <script type="text/javascript">     function exibirMensagem()     {         var data = new Date();         alert(data.toString());     }     </script> </head> <body>     <button id="btn" onclick="exibirMensagem();">Clique aqui</button> </body> </html>
  • 11.
    Tratando eventos coma função addEventListener • A função “addEventListener”, nativa da linguagem Javascript, permite ligar um evento de um objeto a uma função que fará seu tratamento. • Usando essa função, não é preciso definir a propriedade de evento do objeto diretamente, pois isso será feito via código, dinamicamente. • No exemplo a seguir, temos a mesma função exibir mensagem, mas dessa vez a ligamos ao evento click do botão usando a addEventListener.
  • 12.
    exemplo 3 <!doctype html> <html> <head>     <metacharset="UTF-8"/> </head> <body>     <button id="btn">Clique aqui</button>     <script type="text/javascript">         function exibirMensagem()         {             var data = new Date();             alert(data.toString());         }         var btn = document.getElementById("btn");         btn.addEventListener("click", exibirMensagem);     </script> </body> </html> Coloque o script em um arquivo.js
  • 13.
    função addEventListener • Nessecaso foi preciso usar a função “getElementById” para selecionar o objeto cujo evento seria tratado, no caso, o botão. • O primeiro parâmetro da addEventListener é o nome do evento que será tratado, nesse caso, “click”. O segundo é o nome da função que será executada. • Essa forma dá mais flexibilidade ao código, pois deixa o código HTML independente do Javascript. Todas as modificações necessárias são feitas no script, sem precisar alterar a tag.
  • 15.
    Eventos • onBlur
 Este eventorepresenta a perda de foco de um componente, por exemplo, o usuário está digitando o CEP em um formulário e tecla TAB ou clica em outro  campo do formulário, pode-se neste momento disparar uma função que valida o CEP. • onChange
 Já este representa a mudança do valor de um componente. Por exemplo, o usuário seleciona numa lista o mês desejado para uma consulta, uma ação de filtro é disparada sobre uma tabela, que passa a listar os dados somente do mês selecionado. • onClick
 Ao clicar o botão do mouse sobre um elemento da página, geralmente um botão ou um link. • onDragDrop
 Refere-se a ação de arrastar e soltar algo sobre uma página web.
  • 16.
    • onFocus
 Este eventoonFocus, é exatamente o contrário de onBlur. Acontece quando um elemento da página recebe o focu da aplicação. • onLoad
 Representa que a página ou as imagens acabaram de ser carregadas. • onMouseOver
 Quando o mouse passa sobre um elemento da página. • onSubmit
 Quando um formulário é submetito, precisamente antes do envio. Eventos
  • 17.
    Evento onload<!DOCTYPE html> <html> <head> <title>Usandoeventos no Javascript</title> </head> <body onload="checkCookies()"> <script> function checkCookies() { if (navigator.cookieEnabled==true) { alert("Cookies são permitidos") } else { alert("Cookies não são permitidos") } } </script> <p>Irá aparecer um alert dizendo se os cookies estão ou não liberados em seu navegador</p> </body> </html>
  • 18.
    Evento onChange <!DOCTYPE html> <html> <head> <title>Usandoeventos no Javascript</title> <script> function myFunction() { var x=document.getElementById("fname"); x.value=x.value.toUpperCase(); } </script> </head> <body> Insira seu Nome: <input type="text" id="fname" onchange="myFunction()"> <p> Ao clicarmos fora do input text o texto escrito nele ficará todo em caixa alta.</p> </body> </html>
  • 19.
    OnMouseOver e OnMouseOut <!DOCTYPE html> <html> <head> <title>Usandoeventos no Javascript</title> </head> <body> <div onmouseover="mOver(this)" onmouseout=“mOut(this)" style=“ background-color:#D94A38; width:120px; height:20px; padding:40px;">Passe o mouse em mim</div> <script> function mOver(obj) { obj.innerHTML=“Obrigado"; } function mOut(obj) { obj.innerHTML="Passe o mouse em mim”; } </script> </body> </html>
  • 20.
    onmousedown, onmouseup e onclick <!DOCTYPEhtml> <html> <head> <title>Eventos no Javascript</title> </head> <body> <div onmousedown="mDown(this)" onmouseup="mUp(this)" style=“background-color:#D94A38; width:90px; height:20px; padding: 40px;">Clique aqui</div> <script> function mDown(obj){ obj.style.backgroundColor=“#1EC5E5"; obj.innerHTML="Solte o clique”; } function mUp(obj){ obj.style.backgroundColor="#D94A38" obj.innerHTML="Obrigado" } </script> </body> </html>