CPA-Мастер
Блог о заработке на партнёрских программах в CPA-сетях

Как обрабатываются события keydown и keyup в jQuery

Для одного проекта для учёбы мне нужно было обрабатывать события нажатия кнопок на вебсайте. Простейший пример, как это можно реализовать с помощью 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!

Leave a comment

Your email address will not be published.

*