Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2018, 17:51
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

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

Исправьте пожалуйста, если у меня неправильно написано.

Последний раз редактировалось MC-XOBAHCK, 17.11.2018 в 19:29.
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2018, 20:29
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Удаляются те же методы на тех же элементах, так что всё будет работать.

...кроме самих методов, если те хоть как-то зависимы от this.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2018, 20:55
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

Aetae,
Спасибо за подсказку, а то у меня были сомнения. Решил у опытных людей спросить.
С this учту замечание, обязательно проверю на контекст.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПРОВЕРЬТЕ КОД !!! daramylove (X)HTML/CSS 1 12.08.2018 04:52
как получить исходный код страницы после ajax lerneree AJAX и COMET 4 28.05.2018 13:53
Как найти и заменить код скрипта на странице на другой код? smls Общие вопросы Javascript 2 18.07.2016 22:01
"Оживите" код с хабра - https://habrahabr.ru/sandbox/51453/ Daniil2206 Node.JS 0 11.05.2016 18:09
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50