2014-06-27 5 views
0

Я пытаюсь изменить цвет фона ul при возникновении события keydown. Когда я нажимаю стрелку вниз, соответствующая 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

, когда я у se этот код в моем проекте цвет фона сразу же исчезает из события ul, хотя return false существует после того, как addClass – user1851420

+0

может быть другим css/js на странице, конфликтующей – Sharique

Смежные вопросы