特定のキーが押されているときに背景色を変更しようとしています。たとえば、「r」キーを押したままにすると、背景が赤くなります。 'r'キーがもう押されていないとき、背景はデフォルトで白になるはずです。特定のキーの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'});
}
});
});
私が抱えている問題は、個々のキーごとにキーアップが特別に機能していないことです。
$('body').keyup(function(e){
$(this).css({'background':'white'});
});
からkeyupから条件文は完全にそれは私が、私はそれを望んでいたと述べたどのように動作するかどうか、私は削除した場合、私は知っている - しかし、私は、特定のキーを使用してからkeyup使用して、後で別のことを行うことができるようにしたいです。たとえば、「b」キーが離されたときに、「あなたはちょうどbキーをリリースしました!特定のキーのキーダウンイベントとキーアップイベントを追跡し、それぞれ異なるイベントを発生させるにはどうすればよいですか?私はこれを行うための完全に異なる、より良い方法があるかどう...(私はこのようなものにはかなり新しいです)ので、これは非常にいずれかの組織化されていません知っている
FYI
でCSSルールと一致し、あなたは試してみました'e.keyCode'の代わりに' e.which'を使用していますか? http://stackoverflow.com/a/302161/2111457 – uross