2
respostas

Dúvida no function(event)

Na função:

tabela.addEventListener('dblclick', function(event){
    event.target.parentNode.remove()
})

O event passado como parâmetro para a função anônima é o double click? De onde veio esse evento? Não to conseguindo captar isso. Por acaso o event é o 'dblclick'?

2 respostas

Oi Igor, tudo bem?

A função addEventListener permite realizar uma ação (como chamar outra função) assim que algum evento acontecer. No caso, esse evento é o double click, já que você definiu como dblclick.

Quando esse evento acontecer, ou seja, quando houver o double click de fato na tabela, ele irá chamar a função anônima que definimos logo após, a que recebe como parâmetro um evento, que chamamos de event (em alguns lugares você pode encontrar apenas como e).

Esse parâmetro event é na verdade um objeto que contém informações sobre a ação que acabou de acontecer. No caso deste exemplo, o evento teria informações como as coordenadas do clique por exemplo, o elemento específico no qual você clicou, e muitas outras informações.

Passar esse parâmetro event é opcional, porém, na maioria das vezes, é útil para saber mais informações sobre o evento que aconteceu.

Espero ter ajudado! Qualquer outra dúvida é só mandar aqui que estarei à disposição! Abraços e bons estudos =)

Obrigado pela resposta, Giovanna.

Acho que entendi, só algumas dúvidas restantes:

1) O event é um objeto padrão do JS, no caso se eu passar o event como parâmetro para a função, ele vai passar o double click porque foi o que eu coloquei dentro das aspas no eventlistener. Correto?

2) Se a 1 está correta, se eu tivesse escrito outra coisa no lugar do "dblclick", o evento seria o que eu teria escrito ali, supondo que ele exista no mundo do JS?

3) Os eventos são predefinidos pelo JS? Digo, eles já vem prontos, só preciso escolher na documentação algum que eu preciso e colocar dentro das aspas. Se eu colocasse algo que não existe, por exemplo um "pentaclick" o event passado pra função não funcionaria porque esse evento não existe?