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

Evento como parametro

Ola, estou com uma dúvida de como exatamente o navegador "envia" o evento como parametro para funções. Queria saber se essa questão será tratada mais a fundo em cursos posteriores. Também acho que estou com uma noção muito superficial de como funciona a questão de orientação a objetos, classes e etc em JavaScript. Também será tratado mais a fundo?

Ex:

tabela.addEventListener("dblclick", function(event) {

event.target.parentNode.classList.add("fadeOut");

event.target.parentNode.remove();

});

5 respostas

Lucas, boa noite!

Quando o código é interpretado pelo navegador ele salva essa função através de um listener, esse listener é responsável por esperar a ação salva. Quando a ação é executada, o navegador "lembra" que tem uma função a ser executada e aplica ela.

Espero ter ajudado e bons estudos!

Certo. Mas se a cada vez que recarregamos uma página o código é lido e executado uma única vez. Como pode a cada clique do mouse ou tecla digitada eu alterar esse código sendo que ele deveria ser "estático"? Resumo, como é lido e alterado o nosso código pelo navegador?

solução!

Oi Lucas tudo bem?

Pergunta difícil a sua rsrs. Para saber como o navegador lê precisaríamos analisar o código do navegador.

Mas como eu amo desafios vamos lá.

Vou pegar o código fonte https://github.com/chromium/chromium do Chromium que é o código aberto que gera o Google Chrome, ele é escrito em C++.

Ele tem mais de 39,814 mil páginas de códigos diferentes

Pesquisei por https://github.com/chromium/chromium/search?q=eventlistener&unscoped_q=eventlistener

Entrei no arquivo https://github.com/chromium/chromium/blob/a1e1598b6309e8a8094a3fbef99dfeb9c6e4e042/extensions/browser/event_listener_map.cc

E vi que ele acessa uma interface chamada listener. E fiquei lendo vários arquivos da pesquisa https://github.com/chromium/chromium/search?p=2&q=listener&unscoped_q=listener

E não achei o código em si do listener rsrsrs.

Mas vamos lá, por padrão um listener fica ouvindo sem parar um elemento. Então o navegador fica toda hora verificando se o elemento foi clicado de uma forma otimizada que gaste pouco recurso.

Fiz um teste com um navegador numa página com um código com addEventListener e ele sempre fica consumindo um pouquinho de cpu, porque está ouvindo sem parar.

E quando alguém clica naquele botão que ele tava ouvindo, ele executa a função javascript que fora sido ordenado a fazer.

Espero ter ajudado!!!

Excelente. Muito obrigado André pela ajuda.

Dinada e bons estudos!!!