Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使tabIndex(输入字段)在页面加载时从顶部开始-Jquery_Javascript_Jquery_Html_Focus_Autofocus - Fatal编程技术网

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();
}



单击以获得焦点
单击可失去焦点
,这将取消焦点,但它将保留在选项卡顺序中的该位置。