Что такое пассивные слушатели?


работая над повышением производительности для прогрессивных веб-приложений, я наткнулся на новую функцию Passive Event Listeners и мне трудно понять концепцию.

каковы Passive Event Listeners а зачем это нужно в наших проектах?

1 96

1 ответ:

пассивные слушатели-это новый веб-стандарт, новая функция поставляется в Chrome 51, которые обеспечивают значительный потенциальный импульс для прокрутки спектакль. Примечания К Выпуску Chrome.

это позволяет разработчикам отказаться от повышения производительности прокрутки, устраняя необходимость прокрутки для блокировки на сенсорных и колесных прослушивателях событий.

: все современные браузеры имеют функцию прокрутки с резьбой, чтобы разрешить прокрутка выполняется плавно даже тогда, когда работает дорогой JavaScript, но эта оптимизация частично побеждена необходимостью ждать результатов любого touchstart и touchmove обработчики, которые могут полностью предотвратить прокрутку, вызвав preventDefault() на мероприятии.

решение: - {passive: true}

отмечая сенсорный или колесный прослушиватель как пассивный, разработчик обещает, что обработчик не будет вызывать preventDefault отключить прокрутку. 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);

DOM Spec,Демо-Видео,Explainer Doc