Angular.js: Erwägen Sie, Unterstützung für passive Ereignis-Listener hinzuzufügen

Erstellt am 7. Apr. 2017  ·  4Kommentare  ·  Quelle: angular/angular.js

Ich schicke ein ...

  • [x] Fehlerbericht
  • [ ] Featureanfrage
  • [ ] Sonstiges (Hier bitte keine Supportanfragen stellen (siehe oben))

Aktuelles Verhalten:
Nicht passiver Ereignis-Listener zu einem scrollblockierenden 'touchmove'-Ereignis hinzugefügt. Erwägen Sie, den Event-Handler als „passiv“ zu markieren, damit die Seite reaktionsschneller wird.

Erwartetes / neues Verhalten:
Passive Ereignis-Listener sind eine neue Funktion in der DOM-Spezifikation, die es Entwicklern ermöglicht, sich für eine bessere Scroll-Leistung zu entscheiden, indem sie das Scrollen zum Blockieren von Ereignis-Listenern bei Berührung und Rad eliminieren. Entwickler können Touch- und Wheel-Listener mit {passive: true} annotieren, um anzugeben, dass sie preventDefault niemals aufrufen werden. Diese Funktion wurde in Chrome 51, Firefox 49 ausgeliefert und landete in WebKit. Für eine vollständige offizielle Erklärung lesen Sie hier mehr.

Minimale Reproduktion des Problems mit Anleitung:

Winkelversion: 1.6.4

Browser: Chrome 59

Noch etwas:
http://stackoverflow.com/questions/39152877/consider-marking-event-handler-as-passive-to-make-the-page-more-responsive

misc core moderate won't fix inconvenient feature

Hilfreichster Kommentar

Hallo, danke für den Vorschlag. Dieses Verhalten ist in der Spezifikation (https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions) enthalten, aber in IE / Edge und Safari fehlt die Unterstützung. Ich nehme an, wir könnten hier eine Ausnahme machen, da das Optionsobjekt von Browsern ignoriert wird, die es nicht unterstützen, ist das richtig?

Alle 4 Kommentare

Hallo, danke für den Vorschlag. Dieses Verhalten ist in der Spezifikation (https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions) enthalten, aber in IE / Edge und Safari fehlt die Unterstützung. Ich nehme an, wir könnten hier eine Ausnahme machen, da das Optionsobjekt von Browsern ignoriert wird, die es nicht unterstützen, ist das richtig?

Du hast Recht!

Das Objekt kann ignoriert werden, aber es wird für Browser, die das options-Objekt nicht unterstützen, in einen wahren Wert aufgelöst, wodurch useCapture auf wahr gesetzt wird.

Basierend auf diesem Kommentar https://github.com/angular/angular.js/pull/16026#issuecomment -305763416 ist dies eine Lösung für die absehbare Zukunft

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen