2
respostas

Eventos onmousedown e onmouseup como condição de if

Posso colocar os eventos onmousedown ou onmouseup como condições de if? Fiz na seguinte forma, mas não deu certo: if(tela.onmousedown) { pincel.fillStyle = 'blue'; alert('funcionou blue'); } if(tela.onmouseup) { pincel.fillStyle = 'grey'; alert('funcionou grey') } Por que?

2 respostas

Olá Fernando, tudo certo?

Você não pode colocá-los como condição do if porque são métodos que não tem nenhum tipo de retorno.

Esses métodos são nativos do html e são eventos disparados sempre que a página detecta que há clique do mouse em algum elemento. O onmousedown é quando o botão direito do mouse está pressionado e o onmouseup é quando esse clique termina.

Para que você consiga alcançar o que propôs, teria que colocar dentro de um método e na tag que abre o html chamá-los da seguinte forma:

<!DOCTYPE html>
<html onmousedown="mouseDown()" onmouseup="mouseUp()">
<body>

<p id="myP">Algum texto</p>

<script>
function mouseDown() {
  document.getElementById("myP").style.color = "red";
}

function mouseUp() {
  document.getElementById("myP").style.color = "green";
}
</script>

</body>
</html>

Para fazer mais testes, tem o site da w3schools: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onmousedown

Espero que tenha ajudado.

Abraço e bons estudos!

Muito obrigado!