У меня есть простое приложение Smart TV, которое показывает список элементов в вертикальном списке с ключевым обработчиком, прикрепленным к привязке, связанной с DIV, содержащим список.
Список содержит набор DIV, показывающий текстовую строку в каждом из них, заключенную во внешний DIV. Высота всего списка составляет 400 пикселей, что составляет 540 пикселей от высоты экрана.
Пользователь может перемещаться вверх и вниз по списку с помощью кнопок вверх и вниз, чтобы выделить отдельные элементы.
В эмуляторе это работает нормально, однако на реальном телевизоре, когда пользователь нажимает вниз, не только перемещение выделения выполняется должным образом, но и весь экран перемещается вверх.
Подобным образом, когда пользователь нажимает вверх, выделение перемещается правильно, но экран перемещается вверх.
Вот разметка для списка.
<div id="itemList">
<div class="slot" id="slot0">Slot 0</div>
<div class="slot" id="slot1">Slot 1</div>
<div class="slot" id="slot2">Slot 2</div>
<div class="slot" id="slot3">Slot 3</div>
<div class="slot" id="slot4">Slot 4</div>
</div>
<a href='javascript:void(0);' id='anchorList' onkeydown='KeyHandler.list_KeyPress()'></a>
Вот CSS
#itemList {
position: absolute;
left: 20px;
top: 20px;
width: 250px;
height: 400px;
background-color: #000000;
}
#itemList .slot {
color: #ff0000;
width: 100%;
height: 80px;
}
Функция list_KeyPress события увеличивает или уменьшает индекс выделенного элемента и изменяет его класс на slotSelected
Ничего на экране не перерисовывается, перемещен или изменен размер. Единственное изменение - это класс выделенного DIV.
Чтобы исключить это как фактор, я закомментировал код внутри list_KeyPress () и по-прежнему получаю ту же проблему - так что это не так.
Это определенно связано с нажатием клавиш.