Considérez le marquage du gestionnaire d'événements comme «passif» pour rendre la page plus sensible

J'utilise le marteau pour le traîner et il devient agité lors du chargement d'autres choses, car ce message d'avertissement me le dit.

La manipulation de l'événement d'entrée 'touchstart' a été retardée pour X ms en raison du thread principal occupé. Considérez le marquage du gestionnaire d'événements comme «passif» pour rendre la page plus sensible.

J'ai donc essayé d'ajouter «passive» à l'auditeur comme si

Hammer(element[0]).on("touchstart", function (ev) { // stuff },{passive:true}); 

Mais je reçois toujours cet avertissement.

Pour ceux qui recevront cet avertissement pour la première fois, cela s'explique par une caractéristique de saignement appelée Auditeurs d'événements passifs qui a été implémentée dans les navigateurs assez récemment (été 2016). À partir de https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md :

Les auditeurs d'événements passifs sont une nouvelle fonctionnalité de la spécification DOM qui permet aux développeurs d'opt-in de mieux défiler les performances en éliminant le besoin de défilement pour bloquer les auditeurs touchant les roues et les roues. Les développeurs peuvent annoter les auditeurs de la touche et de la roue avec {passive: true} pour indiquer qu'ils n'engageraient jamais preventDefault. Cette fonctionnalité est livré dans Chrome 51, Firefox 49 et débarqué dans WebKit. Pour une explication officielle complète, lire plus ici.

Voir aussi: Quels sont les auditeurs d'événements passifs?

Vous devrez peut-être attendre que votre bibliothèque .js implique un support.

Si vous manipulez des événements indirectement via une bibliothèque javascript, vous êtes peut-être à la merci du support de cette bibliothèque particulière pour la fonctionnalité. En août 2016, il ne semble pas que l'une des principales bibliothèques ait mis en place un support. Quelques exemples: