Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Lógica diferente

Lógica que utilizei para resolver o problema anterior:

if (key.keycode === 32 || 13) { key.onkeypress = () =>{ key.classList.add('ativa'); } }

Eu realizei o código dessa maneira, pois, achei mais intuitivo fazer a validação de qual tecla pressionar, antes de executar a função, entretanto como foi mostrado na aula eu poderia ter feito a lógica dentro da minha após o evento onkeypress/onkeydown, minha duvida é, como eu consegui acessar o evento antes mesmo de declarar a função?

key.onkeypress = (event) =>{ if (event.keycode === 32 || 13){ key.classList.add('ativa'); } }

qual seria a diferença entre fazer a declaração explicita do 'event' ao invés do primeiro código que fiz acima. Obs: tentei expressar o máximo minha duvida, desculpe se ficou confuso kkk

2 respostas
solução!

Olá Rafael, tudo bem?

Parabéns pela sua iniciativa em buscar entender a diferença entre as duas lógicas que você utilizou para resolver o problema anterior.

No primeiro código que você mostrou, você utilizou a condição "if (key.keycode === 32 || 13)" para verificar se a tecla pressionada é a barra de espaço ou o enter. Em seguida, você atribuiu a função "key.onkeypress" para adicionar a classe "ativa" ao elemento "key".

Já no segundo código que você mostrou, você declarou o parâmetro "event" na função "key.onkeypress" e utilizou a condição "if (event.keycode === 32 || 13)" para verificar se a tecla pressionada é a barra de espaço ou o enter. Em seguida, você atribuiu a função "key.classList.add('ativa')" para adicionar a classe "ativa" ao elemento "key".

A diferença entre as duas lógicas está na forma como você acessa o evento "onkeypress". No primeiro código, você acessou o evento antes mesmo de declarar a função, o que não é uma boa prática de programação. No segundo código, você declarou a função "key.onkeypress" e acessou o evento "event" dentro dela, o que é uma forma mais adequada de programação.

Além disso, é importante ressaltar que a propriedade "keycode" foi substituída pela propriedade "keyCode" na versão mais recente do JavaScript. Portanto, é recomendável que você utilize a propriedade "keyCode" em vez de "keycode".

Espero ter ajudado a esclarecer sua dúvida. Se precisar de mais ajuda, é só perguntar!

Espero ter ajudado e bons estudos!

boa Renan, isso ai!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software