这类似于 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 后,上述工作正常。基本上,我想避免必须这样做...
最佳答案
为了使 html 元素可聚焦,必须可以使用 Tab 键访问它。这意味着您可以在链接或输入上调用 .focus()
。此外,body
元素始终是可聚焦的。
您需要使您的 div 可以使用 Tab 键访问。您可以通过在其上设置 tabindex
属性来完成此操作。如果您实际上不希望人们能够切换到该 div,您可以将 tabindex 设置为 -1,这将阻止人们实际切换到它,但否则会将元素设置为切换和聚焦。
关于javascript - 使用箭头键滚动 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805550/