您的位置:首页 > Web前端 > AngularJS

dom元素主动获取焦点

2017-12-15 15:54 701 查看
我们知道如果一个元素要获取焦点,我们直接点击一下就好了

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

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

然后马上把焦点聚焦过去

这个时候我们可以使用

focus函数

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

但是这个样子有一个问题

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

这个时候就是不行的

我们要进行setTime操作

在angularJs下

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

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

而我们的comment-input元素就会在这50毫秒里面创建出来,使得我们在50毫秒后聚焦成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js angularJs dom focus 聚焦