好吧,我真的搞不懂。当我的其中一个页面加载时,搜索字段会自动聚焦。这打破了页面的Tab键顺序。在搜索字段之前有跳过链接和其他链接,它们的tab键顺序是正确的,但由于某些原因,输入字段总是首先获得焦点。按tab键离开后,跳转顺序是正确的,但随后要么在重新跳转时跳过搜索字段,要么从输入字段开始跳转。下面是该元素的一个片段:
<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不够快,不能在它被包含在硬的超文本标记语言中之前移除自动聚焦功能?
发布于 2020-03-17 01:26:16
您可以执行blur()
来取消对输入控件的关注。
function focusInput() {
document.getElementById('search-input').focus();
}
function blurInput() {
document.getElementById('search-input').blur();
}
<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>
https://stackoverflow.com/questions/60710430
复制相似问题