#javascript #jquery
#javascript #jquery
Вопрос:
Я пытаюсь изменить цвет фона ul при возникновении события нажатия клавиши.когда я нажимаю стрелку вниз, соответствующий ul должен изменить цвет фона.
Вот мой код
<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">
Комментарии:
1. когда я использую этот код в своем проекте, цвет фона немедленно исчезает из события ul, хотя return false присутствует после addClass
2. может быть какой-то другой css / js на странице конфликтует
3. я попытался, установив css вместо addClass, а также попытался переместить js в другой файл, существует та же проблема