HTML autofocus属性是否仅对特定类型的元素生效?
autofocus属性的生效范围与列表项自动获焦方案
一、autofocus的生效约束
autofocus属性仅对原生可交互元素生效,比如<button>、<input>、<select>、<textarea>这类表单控件,以及带href的<a>、<summary>等本身具备交互能力的元素。像<li>这类普通元素,即便添加了tabindex让它支持手动聚焦,原生的autofocus也不会在页面加载时自动触发获焦。
二、列表项自动获焦的实现方式
想要让页面加载时<li>元素自动获焦,确实需要通过JavaScript主动调用focus()方法:
// 确保DOM加载完成后执行 document.addEventListener('DOMContentLoaded', function() { document.getElementById('two').focus(); });
另外建议将<li>的tabindex设为0而非正数——正数会改变默认的Tab键导航顺序,tabindex="0"既能让元素支持聚焦,又能保留原生的导航逻辑。
内容的提问来源于stack exchange,提问作者zadrozny
相关产品推荐
相关产品推荐

