dom元素主动获取焦点

时间:2022-12-09 20:30:13

我们知道如果一个元素要获取焦点,我们直接点击一下就好了

但是有的时候我们希望有这个样子的效果

当我们点击一个按钮弹出一个输入框

然后马上把焦点聚焦过去

这个时候我们可以使用

focus函数

( document. getElementsByClassName( "comment-input")[ index]). focus();
比如 这个样子

但是这个样子有一个问题

如果一开始的时候我们的元素是被隐藏了,或者还没有创建

这个时候就是不行的

我们要进行setTime操作

在angularJs下

$timeout( function(){
( document. getElementsByClassName( "comment-input")[ index]). focus();
}, 50);

这样就可以在50毫秒以后进行聚焦了

而我们的comment-input元素就会在这50毫秒里面创建出来,使得我们在50毫秒后聚焦成功