Помощь с отслеживанием нажатий клавиш в JavaScript

Проблема с обработкой событий клавиатуры

Привет всем! У меня есть задача сделать скрытую функцию на сайте. Мне нужно, чтобы при нажатии определенной клавиши появлялось всплывающее окно с секретным сообщением.

Что я хочу получить:

  • Пользователь нажимает клавишу S на клавиатуре
  • Появляется alert или другое окно с текстом типа “Секретный код: абракадабра”
  • Это должно работать незаметно, без видимых элементов на странице

Что я пробовал:

Делал обычное поле ввода, но оно слишком заметное. Хочется более скрытый способ.

Кто-нибудь может показать, как правильно отловить нажатие клавиши и показать сообщение? Буду очень благодарен за помощь!

Добавлю - лучше keyup вместо keydown, чтобы не было множественных срабатываний при зажатой клавише. e.key может быть ‘S’ или ‘s’ в зависимости от капслока, поэтому добавьте e.key.toLowerCase() === 's'. И modal окно красивее alert’а.

Повесь обработчик на document: document.addEventListener('keydown', function(e) { if(e.key === 's') alert('Секретный код: абракадабра'); }); Работает по всей странице, никаких видимых элементов не нужно. Что за секрет хочешь спрятать?

Делал то же самое недавно. Добавь проверку на фокус, а то будет срабатывать когда печатаешь в формах. Типа if(e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA') перед показом сообщения. Иначе пользователь печатает в поиске “система” и БАМ - твоё секретное окно выскакивает)