Проверьте код
В объекте есть два метода - один устанавливает слушатели, второй их удаляет
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, время: 11:47. |