Для одного проекта для учёбы мне нужно было обрабатывать события нажатия кнопок на вебсайте. Простейший пример, как это можно реализовать с помощью JavaScript, а именно библиотеки jQuery, рассмотрим в этом посту.
В коде ниже при загрузке страницы к ней прикрепляются функции для обработки нажатия кнопки пробела (код 32). Когда пользователь нажимает на кнопку (событие «keydown») в консоле выдаётся строка «down», а когда он её отпускает (событие «keyup») выводится «up». Была ли нажата кнопка, мы сохраняем в переменной «globalKeyPressed», чтобы при нажатии кнопки в консоле строка выводилась только один раз, в противном случае она будет выводиться постоянно, пока кнопка нажата. Чтобы предотвратить действие по умолчанию, нужно вызвать метод события «preventDefault()».
var globalKeyPressed = false; $(function() { // 32 = пробел $(document).on("keydown", function(e) { var code = e.keyCode; if(code == 32 && !globalKeyPressed) { console.log("down"); e.preventDefault(); globalKeyPressed = true; } }); $(document).on("keyup", function(e) { var code = e.keyCode; if(code == 32 && globalKeyPressed) { console.log("up"); e.preventDefault(); globalKeyPressed = false; } }); });Понравился пост? Поделись в соцсетях и подписывайся на аккаунты в Twitter и Facebook!