Coisas que eu quero fazer
Ao usar JavaScript para disparar eventos e executar ações, você normalmente usa `addEventListener`, mas às vezes você só quer que ele seja executado uma vez (por exemplo, quando um evento estiver pronto para ser disparado).
Usar `removeEventListener` funcionaria, mas é problemático porque você precisa configurar exatamente o mesmo ouvinte. (Eu errei durante a manutenção.)
Este artigo explica como executar uma ação apenas uma vez sem usar o removeEventListener.
implementação
Normalmente, o método addEventListener seria escrito da seguinte forma.
element.addEventListener(event, callback);
// example
// element.addEventListener("click", ()=>{console.log("clicked")});Com essa implementação, a função de retorno de chamada será executada sempre que um evento ocorrer.
Modificaremos essa implementação da seguinte forma:
element.addEventListener(event, callback, {once: true});Se o terceiro argumento antes da modificação fosse verdadeiro
Será da seguinte forma:
Antes da revisão
element.addEventListener(event, callback, true);Após correção
element.addEventListener(event, callback, {once: true, capture :true});Resultado
O ouvinte definido com addEventListener agora será executado apenas uma vez.


コメント