TGViewer
TechRocks TechRocks @techrocks · 12.8K subscribers
Post #3562 3.12K
Как при помощи JavaScript определить, включен ли Caps Lock

Кто угодно может нажать Caps Lock в любой момент времени и не заметить этого. Вводя обычный текст, пользователи легко обнаруживают, что Caps Lock включен. Но когда вводится пароль, проблема не столь очевидна. В результате пароль не принимается, и это раздражает пользователя. В идеале разработчики могли бы предупреждать пользователя о том, что у него включен Caps Lock.

Чтобы отслеживать, включен ли Caps Lock, мы используем метод getModifierState:

document.querySelector('input[type=password]').addEventListener('keyup', function (keyboardEvent) {
const capsLockOn = keyboardEvent.getModifierState('CapsLock');
if (capsLockOn) {
// Предупредить пользователя, что caps lock включен?
}
});


Я прежде никогда не встречал getModifierState, так что заглянул в документацию W3C, чтобы познакомиться с его значениями:

dictionary EventModifierInit : UIEventInit {
boolean ctrlKey = false;
boolean shiftKey = false;
boolean altKey = false;
boolean metaKey = false;

boolean modifierAltGraph = false;
boolean modifierCapsLock = false;
boolean modifierFn = false;
boolean modifierFnLock = false;
boolean modifierHyper = false;
boolean modifierNumLock = false;
boolean modifierScrollLock = false;
boolean modifierSuper = false;
boolean modifierSymbol = false;
boolean modifierSymbolLock = false;
};


getModifierState позволяет получить множество сведений о клавиатуре пользователя во время событий, ориентированных на нажатие клавиш. Жаль, что я не знал о getModifier в начале своей карьеры!

Источник - https://davidwalsh.name/detect-caps-lock
  • ❤ 6
  • 👍 4
More from @techrocks
  1. Oct 7, 2026🔥 Тесты для любителей Linux 👩‍💻 Тест по командам Linux. Часть 1 👩‍💻 Тест по командам…
  2. Oct 2, 2026🔥 7 хороших бирж для программистов ✔ FL.ru. Тут можно найти работу для самых разных напра…
  3. Sep 21, 2026Из вашего резюме вообще понятно, что вы умеете как Fullstack-разработчик? Мы разбили работ…
  4. Sep 9, 2026Post #3928
  5. Sep 9, 2026✈ Топ-5 ИИ-инструментов для разработчиков 🚩 GitHub Copilot. Интегрируется с редактором ко…
  6. Aug 31, 2026Post #3926
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 →