js中无法通过focus让input输入框获取焦点
后来发现是因为Vue的原因,因为Vue是先处理数据,再重绘Dom(适用于先处理数据在渲染DOM造成的问题,不单单是Vue),这中间有个时间差,可以写在Vue的生命周期钩子updated(当这个钩子被调用时,组件 DOM 已经更新,所以现在可以执行依赖于 DOM 的操作)中,不过最好还是用Vue自己的方法来操作
遇到一个如下代码在某些情况下会不生效的问题
<body>
<input id="el" type="text">
<body/>
<script>
document.getElementById('el').focus()
</script>
解决方法是给他加一个定时器,时间设置为0都可以
<script>
setTimeout(function(){
document.getElementById('el').focus()
},0)
</script>
作者:qq_30217895
来源:CSDN
原文:https://blog.csdn.net/qq_30217895/article/details/102585587?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param
版权声明:本文为转载文章,上面是作者原创文章,转载请附上原创博文链接!