Enquanto trabalhava para melhorar o desempenho de aplicativos Web progressivos, deparei-me com um novo recurso Passive Event Listeners
e acho difícil entender o conceito.
O que são Passive Event Listeners
e qual é a necessidade de tê-lo em nossos projetos?
javascript
dom-events
event-listener
passive-event-listeners
Vivek Pratap Singh
fonte
fonte
Respostas:
Ele permite que os desenvolvedores optem por melhorar o desempenho da rolagem, eliminando a necessidade de rolagem para bloquear os ouvintes de eventos por toque e roda.
Problema: Todos os navegadores modernos têm um recurso de rolagem encadeada para permitir que a rolagem seja executada sem problemas, mesmo quando o JavaScript caro está sendo executado, mas essa otimização é parcialmente derrotada pela necessidade de aguardar os resultados de any
touchstart
etouchmove
handlers, o que pode impedir a rolagem totalmente chamandopreventDefault()
no evento.Solução:
{passive: true}
Ao marcar um ouvinte de toque ou roda como passivo, o desenvolvedor promete que o manipulador não ligará
preventDefault
para desativar a rolagem.This frees the browser up to respond to scrolling immediately without waiting for JavaScript, thus ensuring a reliably smooth scrolling experience for the user
.Especificação do DOM , vídeo de demonstração , documento explicativo
fonte