В событиях – keydown(), keyup(), keypress() можно получить нажатые клавиши в шести свойствах. Получить их можно из объекта события:
$(document).keyup(function(e) {
console.dir(e);
});
Результат нажатия клавиши р:
key– содержит символ нажатой клавиши,keyCode– код клавиши (не зависит от регистра и раскладки клавиатуры).
С помощью них можно отследить одну нажатую клавишу:
$(document).keyup(function(e) {
$('#result').append(e.key + ', код: ' + e.keyCode + '<br>');
console.dir(e);
});
На основе кодов можно повесить обработчики на определенные клавиши.
Клавиша Esc:
$(document).keyup(function(e) {
if (e.key === "Escape" || e.keyCode === 27) {
alert('Нажата клавиша Escape');
}
});
Клавиша Backspace:
$(document).keyup(function(e) {
if (e.key === "Backspace" || e.keyCode === 8) {
alert('Нажата клавиша Backspace');
}
});
Следующие свойства показывают состояния управляющих клавиш (true/false):
ctrlKey– нажат ли Ctrl,altKey– нажат ли Alt,metaKey– нажат ли Win или cmd,shiftKey– нажат ли Shift.
Примеры отслеживания комбинации клавиш:
Ctrl + стрелки ← →:
$(document).keyup(function(e) {
if (e.ctrlKey && e.keyCode === 37) {
alert('Нажаты Ctrl и ←');
}
if (e.ctrlKey && e.keyCode === 39) {
alert('Нажаты Ctrl и →');
}
});
Alt + Буква:
$(document).keyup(function(e) {
if (e.altKey && e.keyCode === 67) {
alert('Нажаты Alt и C');
}
});
Ctrl + Shift + Пробел:
$(document).keyup(function(e) {
if (e.ctrlKey && e.shiftKey && e.keyCode === 32) {
alert('Нажаты Ctrl, Shift и пробел');
}
});





