Рассмотрите возможность пометки обработчика событий как "пассивного", чтобы сделать страницу более отзывчивой
Я использую молоток для перетаскивания, и он становится прерывистым при загрузке других вещей, как это предупреждающее сообщение говорит мне.
обработка входного события 'touchstart' была отложена на X МС из-за
основной поток занят. Рассмотрим маркировку обработчика событий как "пассивного" для
сделайте страницу более отзывчивой.
поэтому я попытался добавить "пассивный" к слушателю так
Hammer(element[0]).on("touchstart", function(ev) {
// stuff
}, {
passive: true
});
но я все еще получаю это предупреждение.
1 ответ:
для тех, кто получает это предупреждение в первый раз, это связано с функцией кровоточащего края под названием Пассивные Прослушиватели Событий это было реализовано в браузерах довольно недавно (лето 2016). От https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md:
пассивные слушатели события это новая функция в спецификации DOM, которая позволяет разработчики, чтобы отказаться от повышения производительности прокрутки путем устранения необходимость прокрутки для блокировки на сенсорных и колесных прослушивателях событий. Разработчики могут комментировать сенсорные и колесные прослушиватели с помощью {passive: true} чтобы указать, что они никогда не будут вызывать preventDefault. Эта особенность поставляется в Chrome 51, Firefox 49 и приземлился в WebKit. для полного официального объяснения Прочитайте больше здесь.
Читайте также: Что такое пассивные слушатели?
возможно, Вам придется ждать вашего .библиотека JS для реализации поддержка.
Если вы обрабатываете события косвенно через библиотеку JavaScript, вы можете быть во власти поддержки этой конкретной библиотеки для этой функции. По состоянию на август 2016 года, похоже, что ни одна из крупных библиотек не реализовала поддержку. Некоторые примеры:
- jQuery.js - текущая проблема:https://github.com/jquery/jquery/issues/2871
- реагировать.js - постоянная проблема: https://github.com/facebook/react/issues/6436
- молоток.js - текущая проблема:https://github.com/hammerjs/hammer.js/pull/987
- perfect-scrollbar - постоянная проблема: https://github.com/noraesae/perfect-scrollbar/issues/560
- AngularJS - текущая проблема:https://github.com/angular/angular.js/issues/15901
Comments