Привет всем! У меня есть задача сделать скрытую функцию на сайте. Мне нужно, чтобы при нажатии определенной клавиши появлялось всплывающее окно с секретным сообщением.
Что я хочу получить:
Пользователь нажимает клавишу 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') перед показом сообщения. Иначе пользователь печатает в поиске “система” и БАМ - твоё секретное окно выскакивает)