TGViewer
JavaScript for Devs JavaScript for Devs @js_for_devs · 491 subscribers
Post #24 462
🔑 Caps Lock + пароли = боль. Вот решение

Вы когда-нибудь набирали пароль, он не подходил, а потом оказывалось, что включён Caps Lock? В обычных инпутах это видно сразу, но в type="password" — сюрприз!

Проблема простая: пользователь не понимает, что пароль неверный, потому что регистр был включён. Итог — раздражение, лишние попытки, и неверный UX.

Хорошая новость — это легко отловить в браузере! Используйте KeyboardEvent.getModifierState('CapsLock') и покажите подсказку:


document.querySelector('input[type=password]')
.addEventListener('keyup', e => {
const capsLockOn = e.getModifierState('CapsLock');
if (capsLockOn) {
console.warn('Caps Lock is ON!');
}
});


А getModifierState умеет определять не только Caps Lock, но и NumLock, ScrollLock, Fn и даже Super (да, та самая Win/Command-клавиша).

#js_tips@js_for_devs
  • 👍 5
  • 🔥 4
  • ❤ 2
More from @js_for_devs
  1. Sep 30, 2026Тут больше не будет новостей, статей и постов про JavaScript/TypeScript. JS/TS-разработчик…
  2. Feb 10, 2026Развлекался на выходных со Skills от Remotion. В итоге получился этот промо-ролик. В Remot…
  3. Jan 21, 2026Наконец-то могу видеть свои tailwind-классы без бесконечного скролла..
  4. Jan 20, 2026🔥 Почему свой игровой движок — это проще, чем кажется В новой, большой и практической ста…
  5. Jan 12, 2026⚙️ Инструменты для JavaScript больше не пишут на JavaScript — и вот почему это осознанный…
  6. Dec 29, 2025🎄 Итоги года 4Devs 2025 На прошлой неделе Habr опубликовал итоги года — и наш проект попа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →