Задать вопрос

Нужно ли «чистить» обработчики событий в JavaScript?

Здравствуйте.
Смотрел лекцию одного из курсов по JavaScript.
В определённый момент лектор сказал, что желательно чистить обработчики, когда они уже не нужны.

Как я это понял:
Например при открытии модального окна, вешаю около 3 обработчиков: на "Escape", "Click по подложке", "Кнопке Enter".
Скрытия этого окна мне следует все эти три обработчика "очистить" (removeEventListener)

Проблема:
При каждом открытии каждого модального окна к элементу "document" появляется +3 обработчика

Вопрос:
Следует ли заморачиваться и очищать их после того, как модальное окно скрывается?
На Stackoverflow нашел вопросы 6-летней давности и про немного другое.

Спасибо.

5f01cc2393c27708724556.png
  • Вопрос задан
  • 323 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@antonwx
Вы неправильно делаете.
Повесьте эти обработчики в единичном экземпляре и в них закрывайте все модальные окна.
Ну если не хотите то да, чистить надо, потому что с каждым новым окном вешается дополнительный обработчик и всё это в конечном итоге приводит к лагам и забиванию памяти.

Эх, как же я скучаю по временам простых дизайнов сайта без ajax, jquery, без эффектов, с alert-ами и confirm-ами...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@kyzinatra
Это имеет смысл только в том случае если у вас сильно нагружен сайт.
Если это не так, то при загрузке вешаете 3 обработчика и не паритесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы