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

Как выполнить только один event?

Всем привет, к меня есть один элемент на который подписаны два events. keyup и paste, если человек печатает или встовляет выполняется код два раза, как можно сделать так чтобы код выполнялся один раз?
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@ForSureN1
frontend dev
Заменить эти два события на input , который включает в себя все эти события
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@MamaLuyba
stopImmediatePropagation
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
Можно какой-то флаг переключать:
let hasFired = false;

const handler = () => {
  if (hasFired) return;
  hasFired = true;
  
  // ... 
}

el.addEventListener("paste", handler);
el.addEventListener("keyup", handler);

Ну или без флага, при первом срабатывании снимать слушатели с элемента.
Ответ написан
@alekcena
Нелинейный наставник
elem.addEventListener('keydown',fun)
function fun(event){
if(event.ctrlKey && event.code =="KeyV"){return;}
/*Ваш код */
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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