Wirkt sich das hinzufügen zu viele Ereignis-Listener auf die Leistung auswirken?

Ich habe eine Allgemeine Frage zu javascript (jQuery) events/Listenern.
Gibt es ein limit für die Anzahl der Klick-listener, ohne performance-Probleme?

  • Braucht mehr content wirklich. ein click-handler wird nicht geben Ihnen perf Probleme, es ist, dass Handlungen, klicken Sie auf das 'können' Probleme verursachen. auch, mit einem Klick könnte verpflichtet werden, 1 element, oder 20.000 Elemente, also weitere Infos benötigt wird.
  • Wenn ich auf mehrere Elemente ein Klick-listener mit jquery. Das ist das, was ich meine. Die ganze app hat um es zu hören. Ich spreche von 5-20 Klick-listener. Ich weiß nicht, ob das ein problem ist, das ist, warum ich Frage 🙂
  • Hier ist ein jsperf - test, der auf click-Ereignisse gebunden, um eine oder viele Elemente, die Sie werden sehen, dass, obwohl nur ein Ereignis gebunden ist, die Anzahl der Elemente, die Auswahl hat einen größeren Einfluss. also, die Wirkung perf viel mehr dann die Zahl der Ereignisse. Der test (nur aktualisiert), zeigt auch, wie würden Sie eine Bindung zu einem Elternteil, zur Verbesserung der perf Bindung zu viele Elemente. (funktioniert der Schnellste hier, wie es eine id
  • Ich werde prüfen, ob ich verstanden Sie. Wenn ich also 10 Zuhörer auf 10 verschiedenen Elementen ist weniger ein perf problem, als ein Zuhörer auf 10 Elemente mit der gleichen Klasse?
  • Es geht mehr um die Anzahl der Elemente und wie Sie ausgewählt werden, anstatt das hinzufügen der Veranstaltung ist es selbst. d.h. das perf test zeigt, dass die Zugabe von 3 separate Ereignisse, um ein element mit einem id ist in etwa so schnell wie das hinzufügen von ein Ereignis mit einem class, also das hinzufügen der Veranstaltung nicht wirklich Auswirkungen perf, seine, wie man die Elemente (und wie viele Elemente), das einen Effekt hat
  • Das scheint nicht mehr der Fall, momentan ist der test läuft '42% langsamer" für das id-element mit 3 Veranstaltungen angebracht, vs-1-event auf ein class-Selektor
  • sehr gut möglich, das war 4 Jahre her, ich Stelle mir gerade die Aktualisierung der jquery-Versionen, um eine Letzte würde geben auch sehr unterschiedliche Ergebnisse

Schreibe einen Kommentar