Подтвердить что ты не робот

Может ли добавление слишком большого количества прослушивателей событий влиять на производительность?

У меня есть общий вопрос о событиях/слушателях javascript (jQuery). Существует ли ограничение на количество прослушивателей кликов без проблем с производительностью?

4b9b3361

Ответ 1

С точки зрения производительности количество элементов, с которыми связано событие, - это то, где вы увидите какие-либо проблемы.

Вот тест jsperf. Вы увидите, что привязка ко многим элементам намного медленнее, хотя в каждом случае привязывается только одно событие.

Третий тест в jsperf показывает, как вы привязываете событие к родительскому элементу и используете делегацию для прослушивания нужных элементов. (В этом случае .many)

n.b. Тест показывает, что третий вариант является самым быстрым, но это потому, что он нацеливается на элемент с id, а не с классом.

Обновление: здесь еще один perf test, показывающий 3 события, связанные с id против одного события, связанного с использованием class