因为我在使用 onblur/onkeydown(用于标签)等时遇到了一些问题。
我想问这个问题:
如果我有一个只有一个输入文本的页面,然后我去那里,然后单击“选项卡”,焦点在哪里?我想知道,因为我想强制输入文本不要失去焦点......
我的页面是这样的:
<!docType>
<html>
<body>
<div><input type='text' /></div>
</body>
</html>
如果您想特别关注该文本字段而不是使用autofocus
属性
<input type="text" autofocus />
或者,如果您想以自定义方式映射选项卡,请使用tabindex
属性
<a href="#" tabindex="2">Tab 2</a><br />
<a href="#" tabindex="1">Tab 1</a><br />
<a href="#" tabindex="3">Tab 3</a>
当有 1 个输入文本字段并且之后没有任何内容时,甚至没有链接,焦点可能会转到浏览器的地址栏,或者如果用户正在添加任何浏览器,它可能会移动到添加栏,在附加栏上
在 Chrome 中,当您离开输入标签并且页面上没有其他带有标签索引的元素时,焦点将更改为浏览器的 URL 栏。您可能无法采取任何措施来防止这种情况发生。
当您再次选项卡时,它将返回到该元素 - 再次提供它是页面上唯一具有选项卡索引的元素。
然后,当您单击返回页面(而不是输入)时,焦点不会自然地恢复到输入字段(再次在 Chrome 中进行测试),因此您可能需要使用 JavaScript 将焦点强制放在元素上。