lavezzi1
@lavezzi1

Два слушателя на одно действия, как решить проблему?

Здравствуйте. Проблема в следующем, когда произошел mouseenter -> focus а потом mouseleave и blur то получаю очевидную ошибку о том, что уже нечего удалять. Как избежать?

show() {
    this.visible = true;
    document.querySelector('body').appendChild(this.tooltipNode);
    this.popper.update();
}

hide() {
    this.visible = false;
    document.querySelector('body').removeChild(this.tooltipNode);
}

case 'hover': {
  this.el.addEventListener('mouseenter', this.show.bind(this), false);
  this.el.addEventListener('mouseleave', this.hide.bind(this), false);
  break;
}
сase 'focus': {
  this.el.addEventListener('focus', this.show.bind(this), false);
  this.el.addEventListener('blur', this.hide.bind(this), false);
  break;
}
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 2
Ну, проверять просто текущее состояние в обработчиках.
Ответ написан
Комментировать
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
hide() {
    this.visible = false;
    let removeNode=document.querySelector('body');
   if(removeNode)removeNode.removeChild(this.tooltipNode);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект