使用箭头键滚动div

时间:2012-01-10 15:14:48

标签: javascript html css

这类似于SO: how to move a div with arrow keys,所以也许明确且知情的“不”就足够了:

我可以将溢出div设为“默认滚动目标”,它对箭头向上/向下/向下翻页/空格的反应与溢出文档相同(即向下滚动内容) ?页面本身没有滚动条(下面的简单示例)。特别是,这可以在没有明确跟踪关键事件的情况下完成 (既不直接也不隐藏JS库)?

<html>
 <body>
  <div id="contentcontainer" style="height:200px;width:200px;overflow:scroll">
   <div id="innercontent" style="height:2000px;">foo</div>
  </div>
 </body>
</html>

编辑:当我点击进入div后,上述工作正常。基本上,我想避免这样做......

2 个答案:

答案 0 :(得分:10)

为了使html元素可以聚焦,必须使用Tab键才能访问它。这意味着您可以在链接或输入上调用.focus()。此外,body元素始终是可关注的。

您需要使用Tab键使div可以访问。您可以通过在其上设置tabindex属性来完成此操作。如果你实际上并不希望人们能够标记到该div,你可以将tabindex设置为-1,这将阻止人们实际标记到它,但否则会将元素设置为标签和焦点。

来源:http://help.dottoro.com/ljpkdpxb.php

答案 1 :(得分:-2)

浏览器通常会内置此行为,

为了使用箭头键向下滚动div,你必须有一个聚焦的元素。

查找http://api.jquery.com/focus/