Событие Javascript, вызванное нажатием пробела
Я пытаюсь запустить событие, когда я нахожусь на странице, и нажмите пробел, но я не могу понять это. В настоящее время я пытаюсь использовать jQuery для достижения удовлетворительного результата.
Я пробовал использовать keydown, keyup и keypress. Но кажется, что вы можете использовать его только в том случае, если вы действительно вводите что-то в форму или поле.
То, что я хочу, это вызвать предупреждение при нажатии пробела.
Заранее благодарю вас!
Ответы
Ответ 1
Эти события выходят из строя, поэтому, если вы пытаетесь инициировать событие, где бы ни находился ваш фокус (т.е. не на входе), просто привяжите обработчик на window
:
$(window).keypress(function (e) {
if (e.keyCode === 0 || e.keyCode === 32) {
e.preventDefault()
console.log('Space pressed')
}
})
Ответ 2
Попробуйте следующее:
$('input:text').keypress(function(e) {
if (e.keyCode == 0 || e.keyCode == 32) // `0` works in mozilla and `32` in other browsers
console.log('space pressed');
});
Ответ 3
Попытайтесь связать своего ключевого прослушивателя событий с объектом jQuery $(document);
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(document).keydown(function(e) {
if (e.keyCode == '32') {
alert('space');
}
});
});
</script>
</head>
<body>
</body>
</html>
Ответ 4
Этот код можно использовать:
$(window).keypress(function(e) {
if (e.keyCode == 0 || e.keyCode == 32) {
console.log('Space pressed');
}
});
Explaination:
$(window).keypress(function(e)
ожидает, что пользователь нажмет любую клавишу и сохранит данные клавиши, нажатой в аргументе "e".
Затем if (e.keyCode == 0 || e.keyCode == 32)
проверяет, соответствует ли код нажатой клавиши коду пробела, то есть 0 или 32. Если это возвращает false, то нажимается любая другая клавиша и заканчивается код.
Некоторые часто используемые коды клавиш:
- забой: 8
- вкладка: 9
- введите: 13
- сдвиг: 16
- Ctrl: 17
- альт: 18
- колпачок блокировки: 20
- побег: 27
- (пробел): 32
- 0-9: 48-57
- а-г: 65-90
- Numpad0-numpad9: 96-105