Можно ли проверить, активна ли кнопка блокировки колпачков при вводе формы?
Мне было интересно, можно ли узнать, активна ли кнопка блокировки колпачков при заполнении веб-формы?
Иногда, когда вас просят ввести свой пароль, программное обеспечение уведомляет вас об этом, и вы будете осторожны.
Мне бы хотелось сделать то же самое в веб-формах.
Любые идеи?
Ответы
Ответ 1
Следующий фрагмент jQuery определяет, включена ли блокировка блокировки при нажатии клавиши:
$('#example').keypress(function(e) {
var s = String.fromCharCode( e.which );
if ( s.toUpperCase() === s && s.toLowerCase() !== s && !e.shiftKey ) {
alert('caps is on');
}
});
Взято из ответа StackOverflow: fooobar.com/questions/32488/...
Ответ 2
попробуйте
<html>
<head>
<script type="text/javascript">
function checar_caps_lock(ev) {
var e
= ev || window.event;
codigo_tecla = e.keyCode?e.keyCode:e.which;
tecla_shift = e.shiftKey?e.shiftKey:((codigo_tecla == 16)?true:false);
if(((codigo_tecla >= 65 && codigo_tecla <= 90) && !tecla_shift) || ((codigo_tecla >= 97 && codigo_tecla <= 122) && tecla_shift)) {
document.getElementById('aviso_caps_lock').style.visibility = 'visible';
}
else {
document.getElementById('aviso_caps_lock').style.visibility = 'hidden';
}
}
</script>
</head>
<body>
<form>
<input name="nome_do_campo" type="text" onkeypress="checar_caps_lock(event)" />
<div id="aviso_caps_lock" style="visibility: hidden">CAPS LOCK ATIVADO</div>
</form>
</body>
</html>
Ответ 3
Интересно, что это работает только с keypress, а не с клавиатурой и keydown. Просто чтобы знать, это:
$("#example").keypress(function(e) {
console.log("keypress: " + e.which);
});
$("#example").keydown(function(e) {
console.log("keydown: " + e.which);
});
$("#example").keyup(function(e) {
console.log("keyup: " + e.which);
});
( "a" нажата) возвращает это:
keydown: 65
keypress: 97
keyup: 65
Примечание: с хром и firefox.
Ответ 4
Доступ к пользовательским настройкам, как это было бы против любой достойной модели безопасности, однако вы можете проверить, ввел ли пользователь ALL_CAPS или aLL_CAPS и предупреждает соответствующим образом.
Элегантный подход можно найти здесь: http://24ways.org/2007/capturing-caps-lock
К сожалению, не существует способа определить, включен ли Caps Lock напрямую. Тем не менее, theres простой обход; если пользователь нажимает клавишу, а ее заглавная буква, и у них нет нажатия клавиши Shift, почему тогда они должны иметь Caps Lock! Простой.