2016-10-03 16 views
-1

の背景色を変更するにはjQueryを使用しました。 keypressメソッドを使用する必要がありますが、何らかの理由で私のコードが機能しません。私は、ユーザーがいずれかの<kbd>C</kbd>、<kbd>M</kbd>または<kbd>Y</kbd>押したときに、私のdivの背景色を変更しようとしているのdiv

$(document).ready(function() { 
 
    $(document).keypress(function(event) { 
 
    if (event === 99) { 
 
     $(".light").css('background-color', "#00ffff"); 
 
    } else if (event === 121) { 
 
     $(".light").css('background-color', "#00ffff"); 
 
    } else if (event === 109) { 
 
     $(".light").css('background-color', "#00ffff"); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="light"></div>

+1

代わりに 'event.which'を使用してください。 – Mohammad

+0

'.light'要素には高さや内容がありますか?表示されない場合は、バックグラウンドの変更を見ることができません – Bwolfing

答えて

2

あなたは押されたキーを判別するためにevent.whichを使用する必要があります。ここで働いているコード:

$(document).ready(function() { 
 
    $(document).keypress(function(event) { 
 
    if (event.which === 99) { 
 
     $(".light").css('background-color', "#00ffff"); 
 
    } else if (event.which === 121) { 
 
     $(".light").css('background-color', "#00ffff"); 
 
    } else if (event.which === 109) { 
 
     $(".light").css('background-color', "#00ffff"); 
 
    } 
 
    }); 
 
});
div.light { 
 
    width: 50px; 
 
    height: 50px; 
 
    background-color: black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="light"></div>

0

あなたはKeyPressイベントからwhich値を使用する必要があります。私はまたあなたがswitch - 文章を使用することをお勧めします。 jQuery and whichについてのヘッドアップのためのsmarx

$(document).ready(function() { 
 
    $(document).keypress(function(e) { 
 
    var color = null; 
 

 
    switch (e.which || e.keyCode || 0) { // Cover all cases 
 
     case 99: // Key - C 
 
     color = '#00FFFF'; break; 
 
     case 109: // Key - M 
 
     color = '#FF00FF'; break; 
 
     case 121: // Key - Y 
 
     color = '#FFFF00'; break; 
 
     default: 
 
     color = '#FFFFFF'; 
 
    } 
 

 
    $('.light').css('background-color', color); 
 
    }); 
 
});
.light { 
 
    width: 95vw; 
 
    height: 95vh; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="light"></div>


感謝。

+0

http://stackoverflow.com/questions/4471582/javascript-keycode-vs-which、私は ''と思うjQueryを使用するときに好まれます。 – smarx

関連する問題

 関連する問題