input获取焦点

1、可以直接在input标签里面增加属性autofocus,就会主动获取焦点 

<input id='test' type="text" autofocus="autofocus" />

2、可以使用JavaScript的方法focus

document.getElementById('test').focus();

3、JQuery 里面可以使用

$('#test').focus();

但是2和3这两种方法经常会不起作用

主要原因是因为dom未加载完毕或者其他组件获取焦点等导致。

可增加一个延迟方法setTimeout

window.setTimeout("document.getElementById('input').focus();", 200)  ;

VUE的可以使用 nextTick 来延迟

this.$nextTick(() => {
    this.$refs.input.focus()
})

或者通过生命周期中的mounted方法

mounted(){    
    this.$refs.input.focus()
}

猜你喜欢

转载自blog.csdn.net/gotowest123/article/details/125541315