события keydown + keyup для определенных ключей
Я пытаюсь изменить цвет фона, когда нажаты определенные клавиши. Например, когда «г» клавиша удерживается, фон должен быть красным. Когда «г» Клавиша больше не нажимается, фон по умолчанию должен быть белым.
$(document).ready(function () {
$('body').keydown(function(e){
if(e.keyCode == 114){
$(this).css({'background':'red'});
}
if(e.keyCode == 121){
$(this).css({'background':'yellow'});
}
});
$('body').keypress(function(e){
if(e.keyCode == 114){
$(this).css({'background':'red'});
}
if(e.keyCode == 121){
$(this).css({'background':'yellow'});
}
});
$('body').keyup(function(e){
if(e.keyCode == 114){
$(this).css({'background':'white'});
}
if(e.keyCode == 121){
$(this).css({'background':'white'});
}
});
});
Проблема яЯ имею в виду, что keyup не работает специально для каждого отдельного ключа.
$('body').keyup(function(e){
$(this).css({'background':'white'});
});
Я знаю, что если я удалю условные операторы if из keyup, то все будет вести себя так, как я и сказал - но я хочу иметь возможность делать разные вещи позже, используя keyup с конкретными ключами. Например, когда просто «б» ключ отпущен, может быть, он скажет что-то на экране, как "Вы только что выпустили клавишу b! Как я могу отслеживать события нажатия клавиш и нажатия клавиш для определенных клавиш и делать разные вещи для каждого? Я знаю это нетоже очень организованный (яя довольно новичок в этом деле) так что если естьэто совершенно другой и лучший способ сделать это ...