Проверьте код
В объекте есть два метода - один устанавливает слушатели, второй их удаляет
const App = { typesAll: document.querySelectorAll('.type'), event: function () { this.typesAll.forEach(item => item.addEventListener('click', this.selectType)); this.typesAll.forEach(item => item.addEventListener('keypress', this.selectType)); }, removeEvent: function () { this.typesAll.forEach(item => item.removeEventListener('click', this.selectType)); this.typesAll.forEach(item => item.removeEventListener('keypress', this.selectType)); } } Подскажите, такой код правильный? Обработчики будут удаляться при вызове App.removeEvent() ? Не мешает ли здесь то что установка и удаление слушателей находятся в разных методах объекта, и то что они через forEach прописаны? Исправьте пожалуйста, если у меня неправильно написано. |
Удаляются те же методы на тех же элементах, так что всё будет работать.
...кроме самих методов, если те хоть как-то зависимы от this.:) |
Aetae,
Спасибо за подсказку, а то у меня были сомнения. Решил у опытных людей спросить. С this учту замечание, обязательно проверю на контекст. |
Часовой пояс GMT +3, время: 14:34. |