Ce sont passifs, des écouteurs d'événement?
tout en travaillant autour pour augmenter la performance pour les applications web progressives, je suis tombé sur une nouvelle fonctionnalité Passive Event Listeners
et je trouve qu'il est difficile de comprendre le concept.
Que sont les Passive Event Listeners
et quel est le besoin de l'avoir dans nos projets?
1 réponses
les écouteurs D'événements passifs sont une norme web émergente, nouvelle fonctionnalité livré dans Chrome 51 qui offrent un potentiel important pour faire défiler performance. Chrome Notes De Version.
il permet aux développeurs d'opter pour une meilleure performance de défilement en éliminant la nécessité de défiler pour bloquer les écouteurs d'événements tactiles et de roues.
problème: tout moderne les navigateurs ont une fonction de défilement filetée pour permettre le déroulement en douceur du défilement, même lorsque JavaScript coûte cher, mais cette optimisation est partiellement neutralisée par la nécessité d'attendre les résultats de n'importe quels manipulateurs touchstart
et touchmove
, qui peuvent empêcher le défilement entièrement en appelant preventDefault()
sur l'événement.
Solution: - {passive: true}
en marquant un récepteur tactile ou de roue comme passif, le le développeur promet que le gestionnaire n'appellera pas preventDefault
pour désactiver le défilement. This frees the browser up to respond to scrolling immediately without waiting for JavaScript, thus ensuring a reliably smooth scrolling experience for the user
.
addEventListener(document, "touchstart", function(e) {
console.log(e.defaultPrevented); // will be false
e.preventDefault(); // does nothing since the listener is passive
console.log(e.defaultPrevented); // still false
}, Modernizr.passiveeventlisteners ? {passive: true} : false);