Я пытаюсь сделать список навигационным с помощью клавиш со стрелками вверх / вниз - это сработало, но нажатие этих клавиш вызывает прокрутку окна, что очень раздражает. Поэтому я хочу отключить перемещение страницы с помощью клавиш со стрелками, когда этот блок сфокусирован.
Я пытался:
$('.selectionList').focus(function(event){
$(document).keydown(function(e) {
return false;
});
});
$('.selectionList').blur(function(event){
$(document).keydown(function(e) {
return true;
});
});
Но повторное включение этих клавиш не сработало, чтобы страница не прокручивалась без полосы прокрутки. Я нашел это , которое я мог бы использовать, но это навсегда отключило бы использование этих ключей, чего я не хочу.
Событие $ ('. SelectionList'). Keyup () выглядит следующим образом:
$('.selectionList').keyup(function(event){
if (event.keyCode == 13) //enter
{
$('.listNameBox a').click();
}
else
{
if ((event.keyCode == 38) && ($(this).children('li:eq(' + ($('.selectionList li.selected').index() - 1) + ')').length > 0)) //up
{
selectListItem($(this).children('li:eq(' + ($('.selectionList li.selected').index() - 1) + ')'));
}
else if ((event.keyCode == 40) && ($(this).children('li:eq(' + ($('.selectionList li.selected').index() + 1) + ')').length > 0)) //down
{
selectListItem($(this).children('li:eq(' + ($('.selectionList li.selected').index() + 1) + ')'));
};
}
});
Любая помощь будет оценена.