DmitrySheklein
@DmitrySheklein

Как отменить стандартное действие на ESC в Safari?

При использовании Safari в полноэкранном режиме и при нажатии клавиши "Esc" сначала происходит выход из фуллскрин режима и только при повторном нажатии срабатывает стандартное событие keyup. Как это можно победить?
Для примера на модалке https://codepen.io/DmitrySheklein/pen/VwWNYoj

У auto.ru это как-то получилось (если открывать и закрывать карусель фото автомобиля), но в коде не нашел фикса этой проблемы.
https://auto.ru/review/cars/toyota/verso/8507941/8...

Система macOS Big Sur 11.6
  • Вопрос задан
  • 202 просмотра
Решения вопроса 1
nazares
@nazares
Software Engineer
document.onkeydown = function (evt) {
    if (evt.keyCode == 27) evt.preventDefault();
  document.querySelector('.modal').classList.remove('show')
}


или
const handleEscClose = evt => {
  if (evt.keyCode == 27) {
    evt.preventDefault();
    document.querySelector('.modal').classList.remove('show')
  }
};
document.addEventListener('keydown', handleEscClose);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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