1
resposta

Dúvida sobre a resposta do Quiz apresentada

fiquei com dúvida sobre a resposta apresentada como certa, que foi a opção D, existe esta forma com "window"? não deveria ser o "document"?

let dispatchEvent = new CustomEvent('customEvent');
window.dispatchEvent(dispatchEvent);

dessa forma acredito que nenhuma opção abaixo está certa.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Andre!

No JavaScript, tanto o objeto window quanto o document podem ser usados para disparar eventos personalizados, mas há algumas diferenças importantes a considerar.

O window.dispatchEvent(event): Isso dispara o evento no objeto window, o que significa que qualquer listener adicionado ao objeto window pode capturar esse evento. É útil para eventos globais que não estão associados a um elemento específico da página.

Já o document.dispatchEvent(event): Isso dispara o evento no objeto document, o que significa que qualquer listener adicionado ao objeto document pode capturar esse evento. É útil para eventos que devem ser capturados em qualquer lugar do documento.

No exemplo apresentado na questão, a opção correta (D) usa window.dispatchEvent(dispatchEvent), o que está correto, pois é possível disparar eventos personalizados no objeto window.

Se você quisesse disparar um evento em um elemento específico do DOM, como um elemento com a classe .MinhaClasse, você faria algo assim:

let createEvent = new CustomEvent('customEvent');
document.querySelector('.minhaClasse').dispatchEvent(createEvent);

No entanto, como a questão pede para disparar o evento de forma geral, utilizar o window é uma escolha válida e correta, também, o uso do document ele é mais comum, por que normalmente estamos focado em trabalhar com o DOM, mas o window, é a janela do navegador em si, e muitas das vezes é interessante trabalhar com ela.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!