Страницы

Поиск по вопросам

вторник, 14 мая 2019 г.

Включен ли Caps Lock или нет на сайте?

Можно узнать на сайте, включен ли Caps Lock или нет?


Ответ

Учитывая дискуссию в комментариях к вопросу, вот вариант, который определяет включен ли Caps Lock даже если нажата цифра (только в случае если Caps Lock имеет эффект!): $('#txtTest').on('keydown', function(e) { $(this).data('_lastKey', e.which); }); $('#txtTest').on('keypress', function(e) {
var lastKey = +$(this).data('_lastKey');
if(lastKey < 47 || lastKey > 90) return true;
var letter = String.fromCharCode(e.which); var upper = letter.toUpperCase(); var lower = letter.toLowerCase(); var isNumeric = lastKey >= 48 && lastKey <= 57;
var caps = false;
if(isNumeric) caps = (lastKey == e.which && e.shiftKey) || (lastKey != e.which && !e.shiftKey); else if( (letter === upper && !e.shiftKey) || (letter === lower && e.shiftKey) ) caps = !isNumeric;
//alert(caps); }); Единственный выход это предварительно отлавливать событие keydown и сохранять нажатую клавишу. Демо: http://jsfiddle.net/xH8vC/10/ Оформил как плагин к jQuery: jquery.capsChecker

Комментариев нет:

Отправить комментарий