dom元素主动获取焦点

眉间皱痕 提交于 2019-12-09 08:50:55

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

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

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

然后马上把焦点聚焦过去

这个时候我们可以使用

focus函数

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

但是这个样子有一个问题

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

这个时候就是不行的

我们要进行setTime操作

在angularJs下

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

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

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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!