0 / 0 / 0
Регистрация: 25.05.2022
Сообщений: 9

Как отвязать обработчик события от элемента

20.06.2022, 11:23. Показов 741. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
правильно ли написан код отвязки обработчика события от элемента
JavaScript
1
cards.forEach(card => card.removeEventListener('click', flipCard));
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2022, 11:23
Ответы с готовыми решениями:

Как в одном обработчике события запустить другой обработчик события
Есть список listView1, который заполняется из массива PeopleListprivate void listView1_RetrieveVirtualItem(object sender,...

Как вызвать один обработчик события в другом обработчике события?
Здравствуйте. Подскажите пожалуйста, каким образом можно вызвать информацию из одного обработчика события в другой обработчик события? ...

Привязать обработчик события для программно добавленного элемента управления
Такая проблема. Программно создаю DataGridView при добавлении новой вкладки на tabControl. Существует функция обработки события получения...

4
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3844 / 1703 / 431
Регистрация: 14.03.2022
Сообщений: 4,350
20.06.2022, 11:41
Лучший ответ Сообщение было отмечено danildmitriev как решение

Решение

Отвязывать нужно с теми же ссылками на функции.
Удаление требует именно ту же функцию
Для удаления нужно передать именно ту функцию-обработчик которая была назначена.

Вот так не сработает:

JavaScript
1
2
3
elem.addEventListener( "click" , () => alert('Спасибо!'));
// ....
elem.removeEventListener( "click", () => alert('Спасибо!'));
Обработчик не будет удалён, т.к. в removeEventListener передана не та же функция, а другая, с одинаковым кодом, но это не важно.

Вот так правильно:

JavaScript
1
2
3
4
5
6
7
function handler() {
  alert( 'Спасибо!' );
}
 
input.addEventListener("click", handler);
// ....
input.removeEventListener("click", handler);
Обратим внимание – если функцию обработчик не сохранить где-либо, мы не сможем её удалить.
https://learn.javascript.ru/in... ser-events
1
0 / 0 / 0
Регистрация: 25.05.2022
Сообщений: 9
20.06.2022, 13:27  [ТС]
а можно ли её сократить?
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3844 / 1703 / 431
Регистрация: 14.03.2022
Сообщений: 4,350
20.06.2022, 14:14
Цитата Сообщение от danildmitriev Посмотреть сообщение
а можно ли её сократить?
Не совсем понял про "кого" идет речь...
0
 Аватар для evikza
968 / 530 / 244
Регистрация: 20.05.2015
Сообщений: 776
20.06.2022, 16:03
danildmitriev, здравствуйте.

Если нужно вызвать функцию на элементе единожды — можно добавить опционально параметр для addEventListener.

JavaScript
1
2
3
cards.forEach((card) =>
  card.addEventListener('click', flipCard, { once: true })
);
once: указывает, что обработчик должен быть вызван не более одного раза после добавления. Если true, обработчик автоматически удаляется при вызове.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2022, 16:03
Помогаю со студенческими работами здесь

Как отвязать контекстное меню от элемента управления?
Добрый день! Я привязал контекстное меню к форме и разместил на ней некоторый элемент управления, например лейбл. Теперь при щелчке...

Как прервать обработчик события?
Доброе время суток. Помогите разобраться. По нажатию кнопки организуется длинный цикл, при этом на форме все элементы становятся...

Как удалить обработчик события?
Для добавления обработчика используется такой код: this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); ...

Как написать обработчик события?
Здравствуйте! Подскажите пожалуйста, как в битрикс24 пишется обработчик событий? Создается отдельный php-файл или это в системе в...

Как сделать обработчик события на js?
Пишу модуль...встал вопрос, как добавить событие через js. Сейчас у меня через php обрабатывается событие на добавление в корзину и это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru