Возможно, вы читали предыдущий пост о том, как захватить нажатие одной клавиши с помощью jQuery . В этом примере вы можете зафиксировать несколько нажатий клавиш в комбинации.
Массив (arrShortCut) определяет следующее:
- имя (только для справки)
- код клавиатуры
- функция для выполнения в переменной 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);
}