Подтвердить что ты не робот

Событие Javascript, вызванное нажатием пробела

Я пытаюсь запустить событие, когда я нахожусь на странице, и нажмите пробел, но я не могу понять это. В настоящее время я пытаюсь использовать jQuery для достижения удовлетворительного результата.

Я пробовал использовать keydown, keyup и keypress. Но кажется, что вы можете использовать его только в том случае, если вы действительно вводите что-то в форму или поле.

То, что я хочу, это вызвать предупреждение при нажатии пробела.

Заранее благодарю вас!

4b9b3361

Ответ 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