Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre onmouseup e onmousedown

A funcionalidade destes eventos ficou um tanto confusa para mim. Antes eu havia entendido que um evento retorna um valor para nós, como true ou false. Mas pelo que pude perceber na resolução do professor, estes dois eventos citados no título têm o papel de receber uma função e executá-la. Gostaria de uma explicação melhor sobre estes eventos, se têm mais de um comportamento diferente e como podemos utilizá-los. Obrigado! =)

1 resposta
solução!

Olá, Jorge! Tudo bem?

Desculpe a demora em retornar.

Temos uma interface que se chama MouseEvent. Essa interface inclui eventos como onmouseup e onmousedown.

O caso o onmouseup é um evento disparado quando o usuário libera o botão do mouse. A sintaxe dele é da seguinte forma:

target.onmouseup = functionRef;

Ou seja, a função functionRef irá receber o evento onmouseup como o seu único argumento. Utilizando o caso do professor:

    function desabilitaDesenhar() {

        desenha = false;
    }

tela.onmouseup = desabilitaDesenhar;

Nesse caso, quando a tecla do mouse for solta, esse evento será um argumento da função desabilitaDesenhar() e portanto o desenha será false não ativando o desenho.

O onmousedown segue essa mesma lógica, entretanto sendo o oposto (quando o botão for pressionado).

Deixo aqui alguns sites que você pode encontrar alguns exemplos aplicados em outras situações:

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onmouseup https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onmousedown

Caso eu ainda não tenha deixado claro, estou à disposição. Bons estudos :)

Abraços!