在页面加载时使用类而不是输入id上的js自动对焦
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在页面加载时使用类而不是输入id上的js自动对焦相关的知识,希望对你有一定的参考价值。
我有一个网站,我想使用js在页面加载时将焦点设置为输入字段。我无法更改以下代码。这是输入标签:
input class="form-control ng-pristine ng-valid ng-scope ng-touched"
ng-model="query.q" type="text"
placeholder="Enter search terms - use quotes for phrases"
kw-clearable-input=""
我在下面试过js看其他类似的主题,但没有运气:
function setFocusToTextBox(){
document.getElementsByClassName("form-control ng-pristine ng-valid ng-scope ng-touched")[0]; element.focus();
}
任何帮助将非常感激。谢谢。
答案
问题是焦点函数中没有定义元素。
正确定义时,它正在工作。
function setFocusToTextBox()
{
let element = document
.getElementsByClassName("form-control ng-pristine ng-valid ng-scope ng-touched")[0];
element.focus();
}
setFocusToTextBox();
<input class="form-control ng-pristine ng-valid ng-scope ng-touched" ng-model="query.q" type="text" placeholder="Enter search terms - use quotes for phrases" kw-clearable-input=""/>
另一答案
你可以使用autofocus
<input class="form-control ng-pristine ng-valid ng-scope ng-touched" ng-
model="query.q"
type="text"
placeholder="Enter search terms - use quotes for phrases"
kw-clearable-input=""
autofocus>
以上是关于在页面加载时使用类而不是输入id上的js自动对焦的主要内容,如果未能解决你的问题,请参考以下文章
输入文本中的焦点或自动对焦在 Firefox 16.0.2 中不起作用