You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

页面加载时让<div>自动获焦,实现无需点击即可按键滚动

让Div页面加载时自动获得焦点(无锚点、无需点击)

我刚好碰到过类似的需求,这就给你分享个完美的解决方案——既不用依赖对非输入元素无效的autofocus,也不会在地址栏留下锚点后缀:

核心思路

普通<div>默认是不能被聚焦的,我们需要先给它添加可聚焦属性,再通过JavaScript在页面加载完成后主动触发焦点绑定。

具体步骤

1. 给目标Div添加tabindex属性

这个属性能让Div变成可聚焦元素,推荐用tabindex="-1",它的好处是:只能通过代码触发聚焦,不会出现在Tab键的导航序列里,不会干扰用户正常的键盘导航流程。

示例HTML:

<div id="scrollable-div" tabindex="-1">
  <!-- 这里放你的滚动内容 -->
</div>

2. 页面加载后调用focus()方法

用DOM加载完成的事件触发焦点绑定,确保元素已经渲染完毕:

示例JavaScript:

// 等待DOM完全加载
document.addEventListener('DOMContentLoaded', function() {
  const targetDiv = document.getElementById('scrollable-div');
  // 给Div设置焦点
  targetDiv.focus();
});

效果验证

页面加载完成后,这个Div会自动获得焦点,你直接按下方向键(↑/↓)或者空格键就能滚动Div内的内容了,完全和你提到的维基百科主页效果一致,而且地址栏不会出现任何锚点后缀~

内容的提问来源于stack exchange,提问作者Basj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:03:15