Javascript 如何使tabIndex(输入字段)在页面加载时从顶部开始-Jquery
好吧,我真的搞不懂。当我的一个页面被加载时,搜索字段将自动聚焦。这会破坏页面的选项卡顺序。在搜索字段之前有跳过链接和其他按正确选项卡顺序排列的链接,但由于某些原因,输入字段始终接收第一个焦点。在进行制表操作后,制表顺序是正确的,但是在重新制表时跳过搜索字段,或者在输入字段开始制表。下面是该元素的剪贴画:Javascript 如何使tabIndex(输入字段)在页面加载时从顶部开始-Jquery,javascript,jquery,html,focus,autofocus,Javascript,Jquery,Html,Focus,Autofocus,好吧,我真的搞不懂。当我的一个页面被加载时,搜索字段将自动聚焦。这会破坏页面的选项卡顺序。在搜索字段之前有跳过链接和其他按正确选项卡顺序排列的链接,但由于某些原因,输入字段始终接收第一个焦点。在进行制表操作后,制表顺序是正确的,但是在重新制表时跳过搜索字段,或者在输入字段开始制表。下面是该元素的剪贴画: <input id="search-input" quicksearch="false" type="text" autocomplete="off" name="q" aria-labe
<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”
在第一个聚焦的输入字段之外,制表符顺序是准确的。我只希望标签从页面的顶部开始,按逻辑向下操作,并像预期的那样包含输入字段
是不是jQuery不够快,无法在自动对焦被包含在硬HTML中之前将其移除?您可以执行blur()
来解除输入控件的对焦
函数焦点输入(){
document.getElementById('search-input').focus();
}
函数输入(){
document.getElementById('search-input').blur();
}
单击以获得焦点
单击可失去焦点
,这将取消焦点,但它将保留在选项卡顺序中的该位置。