Javascript 用键盘控制滚动DIV

Javascript 用键盘控制滚动DIV,javascript,Javascript,我有一个div,其中包含一个表,其中有许多行。使用鼠标时,滚动条显示正确且工作正常。然而,为了使其键盘驱动,我已经使div具有焦点,然后能够使用箭头键(通过onKeyPress事件,我能够在div上下移动) 除了一个小怪癖外,这是可行的……当div获得焦点时,我按下向下箭头键,滚动条也会向下移动(有效地隐藏了我当前关注的行)。所以我的问题是,有没有办法避免这种情况发生 我正在查看以下命令:doscorl()、scrollTo()或scroll() 这些方法是否有效,或者我是否可以采取其他措施来纠

我有一个div,其中包含一个表,其中有许多行。使用鼠标时,滚动条显示正确且工作正常。然而,为了使其键盘驱动,我已经使div具有焦点,然后能够使用箭头键(通过onKeyPress事件,我能够在div上下移动)

除了一个小怪癖外,这是可行的……当div获得焦点时,我按下向下箭头键,滚动条也会向下移动(有效地隐藏了我当前关注的行)。所以我的问题是,有没有办法避免这种情况发生

我正在查看以下命令:doscorl()、scrollTo()或scroll()


这些方法是否有效,或者我是否可以采取其他措施来纠正滚动条的行为?

也许您可以执行
事件。preventDefault()
在箭头键上。

将tabindex的html属性设置为div和max height+overflow css属性将允许使用键盘对div进行选项卡化和滚动。并不是说它比Js解决方案更好-只是提供了一个不需要Js的替代解决方案

运行代码段以查看示例。由于堆栈溢出的布局方式,在单击“运行”后,您需要单击“代码输出”框中的任意位置,然后单击“选项卡”(然后使用箭头滚动)。注意:这不是因为我的代码,而是因为堆栈溢出布局页面的方式

.wrapper{
最大高度:50px;
溢出:自动;
}

  • 一,
  • 二,
  • 三,
  • 四,
  • 五,
  • 六,
  • 七,
  • 八,
  • 九,
  • 十,
  • 十一,
  • 十二,

看看这个:这就是答案。谢谢!简单易懂!