web-dev-qa-db-fra.com

L'ajout d'un trop grand nombre d'écouteurs d'événements affecte-t-il les performances?

J'ai une question générale sur les événements/écouteurs javascript (jQuery). Y a-t-il une limite pour le nombre d'écouteurs de clics sans avoir de problèmes de performances?

38
Bernhard Pointner

En termes de performances, le nombre d'éléments auxquels l'événement est lié est l'endroit où vous rencontrez des problèmes.

Voici un test jsperf . Vous verrez que la liaison à de nombreux éléments est beaucoup plus lente, même si un seul événement est lié dans chaque cas.

Le 3ème test dans le jsperf montre comment vous lieriez l'événement à un élément parent et utiliseriez la délégation pour écouter les éléments que vous voulez. (Dans ce cas .many)

n.b. Le test montre que la 3ème option est la plus rapide, mais c'est parce qu'elle cible l'élément avec un id et non une classe.

Mise à jour: voici un autre test de perf montrant 3 événements liés à un id vs un événement lié à l'aide d'un class

29
atmd