Как обнаружить блокировку заглавных букв в javascript, не сравнивая то, что было напечатано при нажатии Shift? - PullRequest
0 голосов
/ 26 октября 2011

Существует множество решений, включая jQuery (http://plugins.jquery.com/plugin-tags/caps-lock), где вы проверяете, является ли введенная буква прописной, и если да, была ли нажата клавиша Shift. Если нет, то заглавная буква включена.

Это не то, что я хочу. Просто зайдите на GMail.com и поместите курсор в поле пароля. Как только вы нажмете заглавную букву, появится сообщение. Вам не нужно ничего вводить.

Это то, что я ищу.

1 Ответ

2 голосов
/ 26 октября 2011

Вы можете проверить, является ли нажатая клавиша клавишей Caps Lock в событии onkeydown:

element.onkeydown = function () {
    var evt = arguments[0] || window.evt,
        key = evt.which || evt.keyCode;

    if (key == 20) {
        alert("Caps lock pressed");
    }
}

Обратите внимание, что это не поможет, если пользователь уже включил блокировку CAPs при перемещении фокуса на вход (я уверен, что это невозможно обнаружить), и это более жизнеспособный вариант использования для отображения предупреждения IMO.

Однако, как указано в комментариях, некоторые операционные системы или браузеры будут показывать вам предупреждение, если у вас есть заглавные буквы во время фокусировки поля пароля. GMail не для меня на Win 7, поэтому я не думаю, что это то, что они написали в JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...