Eventos DOM JavaScript


Índice

    Mostrar índice


HTML DOM permite que JavaScript reaja a eventos HTML:

Mouse Over Me
Click Me

Reagindo aos Eventos

Um JavaScript pode ser executado quando ocorre um evento, como quando um usuário clica em um elemento HTML.

Para executar código quando um usuário clica em um elemento, adicione código JavaScript a um atributo de evento HTML:

onclick=JavaScript

Exemplos de eventos HTML:

  • Quando um usuário clica com o mouse

  • Quando uma página da web é carregada

  • Quando uma imagem foi carregada

  • Quando o mouse passa sobre um elemento

  • Quando um campo de entrada é alterado

  • Quando um formulário HTML é enviado

  • Quando um usuário pressiona uma tecla

Neste exemplo, o conteúdo do elemento <h1> é alterado quando um usuário clica nele:

Exemplo

<!DOCTYPE html>
<html>
<body>

<h1 onclick="this.innerHTML = 'Ooops!'">Click on this text!</h1>

</body>
</html>

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript HTML Events</h2>
<h2 onclick="this.innerHTML='Ooops!'">Click on this text!</h2>

</body>
</html>

Neste exemplo, uma função é chamada a partir do manipulador de eventos:

Exemplo

<!DOCTYPE html>
<html>
<body>

<h1 onclick="changeText(this)">Click on this text!</h1>
 
<script>
function changeText(id) {

  id.innerHTML = "Ooops!";
}
</script>

</body>
</html>

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript HTML Events</h2>
<h2 onclick="changeText(this)">Click on this text!</h2>

<script>
function changeText(id) {
  id.innerHTML = "Ooops!";
}
</script>

</body>
</html>


Atributos de eventos HTML

Para atribuir eventos a elementos HTML você pode usar atributos de evento.

Exemplo

Atribua um evento onclick a um elemento de botão:

<button onclick="displayDate()">Try it</button>

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript HTML Events</h2>
<p>Click the button to display the date.</p>

<button onclick="displayDate()">The time is?</button>

<script>
function displayDate() {
  document.getElementById("demo").innerHTML = Date();
}
</script>

<p id="demo"></p>

</body>
</html> 

No exemplo acima, uma função chamada displayDate será executada quando o botão é clicado.


Atribuir eventos usando o HTML DOM

O HTML DOM permite atribuir eventos a elementos HTML usando JavaScript:

Exemplo

Atribua um evento onclick a um elemento de botão:

<script>
document.getElementById("myBtn").onclick = displayDate;
</script>

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript HTML Events</h2>
<p>Click "Try it" to execute the displayDate() function.</p>

<button id="myBtn">Try it</button>

<p id="demo"></p>

<script>
document.getElementById("myBtn").onclick = displayDate;

function displayDate() {
  document.getElementById("demo").innerHTML = Date();
}
</script>

</body>
</html> 

No exemplo acima, uma função chamada displayDate é atribuída a um elemento HTML com o id="myBtn".

A função será executada quando o botão é clicado.


Os eventos onload e onunload

Os eventos onload e onunload são acionados quando o usuário entra ou sai da página.

O evento onload pode ser usado para verificar o tipo e a versão do navegador do visitante e carregar a versão adequada da página da web com base nas informações.

Os eventos onload e onunload podem ser usados para lidar com cookies.

Exemplo

<body onload="checkCookies()">

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body onload="checkCookies()">

<h2>JavaScript HTML Events</h2>

<p id="demo"></p>

<script>
function checkCookies() {
  var text = "";
  if (navigator.cookieEnabled == true) {
    text = "Cookies are enabled.";
  } else {
    text = "Cookies are not enabled.";
  }
  document.getElementById("demo").innerHTML = text;
}
</script>

</body>
</html> 

O evento onchange

O evento onchange é frequentemente usado em combinação com a validação de campos de entrada.

Abaixo está um exemplo de como usar o onchange. O maiúsculas() A função será chamada quando um usuário alterar o conteúdo de um campo de entrada.

Exemplo

<input type="text" id="fname"
onchange="upperCase()">

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript HTML Events</h2>
Enter your name: <input type="text" id="fname" onchange="upperCase()">
<p>When you leave the input field, a function is triggered which transforms the input text to upper case.</p>

<script>
function upperCase() {
  const x = document.getElementById("fname");
  x.value = x.value.toUpperCase();
}
</script>

</body>
</html>

Os eventos onmouseover e onmouseout

Os eventos onmouseover e onmouseout podem ser usados para acionar uma função quando o usuário passa o mouse sobre ou fora de um elemento HTML:

Mouse Over Me

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<div onmouseover="mOver(this)" onmouseout="mOut(this)" 
style="background-color:#D94A38;width:120px;height:20px;padding:40px;">
Mouse Over Me</div>

<script>
function mOver(obj) {
  obj.innerHTML = "Thank You"
}

function mOut(obj) {
  obj.innerHTML = "Mouse Over Me"
}
</script>

</body>
</html> 

Os eventos onmousedown, onmouseup e onclick

Os eventos onmousedown, onmouseup e onclick são todas partes de um clique do mouse. Primeiro, quando um botão do mouse é clicado, o evento onmousedown é acionado, então, quando o botão do mouse é liberado, o evento onmouseup é acionado e, por fim, quando o clique do mouse é concluído, o evento onclick é acionado.

Click Me

Experimente você mesmo →

<!DOCTYPE html>
<html>
<body>

<div onmousedown="mDown(this)" onmouseup="mUp(this)"
style="background-color:#D94A38;width:90px;height:20px;padding:40px;">
Click Me</div>

<script>
function mDown(obj) {
  obj.style.backgroundColor = "#1ec5e5";
  obj.innerHTML = "Release Me";
}

function mUp(obj) {
  obj.style.backgroundColor="#D94A38";
  obj.innerHTML="Thank You";
}
</script>

</body>
</html> 

Mais exemplos

onmousedown e onmouseup

<!DOCTYPE html>
<html>
<head>
<script>
function lighton() {
  document.getElementById('myimage').src = "bulbon.gif";
}
function lightoff() {
  document.getElementById('myimage').src = "bulboff.gif";
}
</script>
</head>

<body>

<img id="myimage" onmousedown="lighton()" onmouseup="lightoff()" src="bulboff.gif" width="100" height="180" />

<p>Click mouse and hold down!</p>

</body>
</html>

Altere uma imagem quando um usuário mantém pressionado o botão do mouse.

carregando

<!DOCTYPE html>
<html>
<head>

<script>
function mymessage() {
  alert("This message was triggered from the onload event");
}
</script>
</head>

<body onload="mymessage()">
</body>

</html>

Exiba uma caixa de alerta quando a página terminar de carregar.

No foco

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction(x) {
  x.style.background = "yellow";
}
</script>
</head>
<body>

Enter your name: <input type="text" onfocus="myFunction(this)">

<p>When the input field gets focus, a function is triggered which changes the background-color.</p>

</body>
</html>

Altere a cor de fundo de um campo de entrada quando ele estiver em foco.

Eventos de mouse

<!DOCTYPE html>
<html>
<body>

<h1 onmouseover="style.color='red'"
onmouseout="style.color='black'">
Mouse over this text</h1>

</body>
</html>

Altere a cor de um elemento quando o cursor passa sobre ele.


Referência de objeto de evento HTML DOM

Para obter uma lista de todos os eventos HTML DOM, consulte nossa referência completa de objeto de evento HTML DOM.