2014-06-27 50 views
0

我想改變keydown事件發生時ul的背景顏色。當我按下向下箭頭時,相應的ul應該改變背景顏色。更改keydown事件的背景

這裏是我的代碼

<div class=".container"> 
<ul> 
<li>one</li> 
</ul> 
<ul> 
<li>two</li> 
</ul> 
<ul> 
<li>three</li> 
</ul>  
<div> 

var chosen = ""; 
$(document).keydown(function(e){ // 38-up, 40-down 
if (e.keyCode == 40) { 
if(chosen === "") { 
chosen = 0; 
} else if((chosen+1) < $('.container ul').length) { 
chosen++; 
} 
$('.container ul').removeClass('selected'); 
$('.container ul:eq('+chosen+')').addClass('selected'); 
return false; 
} 
if (e.keyCode == 38) { 
if(chosen === "") { 
chosen = 0; 
} else if(chosen > 0) { 
chosen--;    
} 
$('.container ul').removeClass('selected'); 
$('.container ul:eq('+chosen+')').addClass('selected'); 
return false; 
} 

}); 

.selected 
{ 
background:red; 
} 

這裏是小提琴http://jsfiddle.net/Lp6y6/

回答

1

改變這一點:

<div class=".container"> 

這樣:

<div class="container"> 
+0

感謝它的錯字 – user1851420

+0

當I U在我的項目中選擇此代碼背景顏色立即從ul事件中消失,雖然返回false後有addClass – user1851420

+0

可能是其他一些CSS/JS頁衝突 – Sharique