首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使tabIndex(输入字段)在页面加载时从顶部开始

如何使tabIndex(输入字段)在页面加载时从顶部开始
EN

Stack Overflow用户
提问于 2020-03-17 01:20:44
回答 1查看 228关注 0票数 0

好吧,我真的搞不懂。当我的其中一个页面加载时,搜索字段会自动聚焦。这打破了页面的Tab键顺序。在搜索字段之前有跳过链接和其他链接,它们的tab键顺序是正确的,但由于某些原因,输入字段总是首先获得焦点。按tab键离开后,跳转顺序是正确的,但随后要么在重新跳转时跳过搜索字段,要么从输入字段开始跳转。下面是该元素的一个片段:

代码语言:javascript
运行
复制
<input id="search-input" quicksearch="false" type="text" autocomplete="off" name="q" aria-label="Search" value="" placeholder="Search..." tabindex="1">

我手动添加了tabindex="1“来测试它,但仍然不能完成我想要的操作。它通过在顶部实际开始跳转来半修复它,但随后不适合跳转顺序,这是问题所在。我添加了tabindex="0","-1","2“,但每次,输入字段都是第一个被关注的。我已经用jQuery从输入字段中删除了自动聚焦,并且可以验证它是否已经删除了它,但没有用。我检查了所有其他元素的制表符索引,它们要么是"0“,要么是"-1”。

除了作为第一个焦点的输入字段之外,Tab键顺序是准确的。我只希望标签开始在页面的顶部和工作,它是逻辑的方式向下,并包括输入领域,因为它应该做的!

是不是jQuery不够快,不能在它被包含在硬的超文本标记语言中之前移除自动聚焦功能?

EN

回答 1

Stack Overflow用户

发布于 2020-03-17 01:26:16

您可以执行blur()来取消对输入控件的关注。

代码语言:javascript
运行
复制
function focusInput() {
  document.getElementById('search-input').focus();
}
function blurInput() {
  document.getElementById('search-input').blur();
}
代码语言:javascript
运行
复制
<input type="text" id="search-input" value="Sample">
<br><br>
<button type="button" onclick="focusInput()">Click to gain focus</button>
<button type="button" onclick="blurInput()">Click to lose focus</button>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60710430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档