2012-02-10 116 views
5

我有一个简单的智能电视应用程序,显示垂直列表中的项目列表,其中的按键处理程序附加到与包含名单。三星智能电视页面滚动视图以响应上下按键

该列表包含一组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()中的代码,但仍然遇到同样的问题 - 所以不是这样。

这绝对是关键按下。

回答

7

其实我自己解决了这个问题。在CSS中,我将以下内容添加到body和html样式中:

body, html { 
    overflow: hidden; 
}