Статьи

jQuery Capture Несколько комбинаций нажатий клавиш

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

Массив (arrShortCut) определяет следующее:

  1. имя (только для справки)
  2. код клавиатуры
  3. функция для выполнения в переменной iShortCutControlKey

если управляющая клавиша активирует состояние «до нажатия», если управляющая клавиша «выключена», если подтверждено нажатие клавиши, «нет управления» для «активного состояния» заглядывают в массив, если есть предустановка для этой клавиши, если функция вызовите execShortCut, который … выполняет функцию;

//to test use CTRL + Z = alert (2)

var arrShortCut = [{ name: 'test1', key: 15, fx: 'alert(1);' }, { name: 'test2', key: 90, fx: 'alert(2);'}];

var iShortCutControlKey = 17; // CTRL;
var bIsControlKeyActived = false;

$(document).keyup(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = false;
}).keydown(function(e) {
    if (e.which == iShortCutControlKey) bIsControlKeyActived = true;
    if (bIsControlKeyActived == true) {
        jQuery.each(arrShortCut, function(i) {
            if (arrShortCut[i].key == e.which) {
                execShortCut(arrShortCut[i].fx);
                return;
            }
        });
    }
});

function execShortCut(fx) {
    eval(fx);
}