繁体   English   中英

如何使 tabIndex(input field) 在页面加载时从顶部开始 - Jquery

[英]How to make tabIndex(input field) to begin at the top on page load - Jquery

好吧,我真的想不通。 当我的其中一个页面加载时,搜索字段会自动聚焦。 这打破了页面的 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 不够快,无法在包含在硬 HTML 中之前删除自动对焦?

您可以执行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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM