js元素聚焦(vue)

JavaScript028

js元素聚焦(vue),第1张

其实聚焦本质上还是调用js的原生方法 focus() ,也就是说如果你想要某个DOM节点聚焦,只需要它调用这个方法就可以

弹窗打开时,自动聚焦到 input 输入框。

看似很简单,但是有两个容易出问题的地方:

一、聚焦的时机

当弹窗的开关变量为true时,你让相应的元素聚焦,但此时可能弹窗并没有渲染完成

二、聚焦的元素

当你使用第三方组件的 Input 输入框时,你为这个输入框标记了 ref ,但是获取到的是这个组件,而并不是组件中的 input

而你使用原生的 input 元素则不会有这个问题

iView弹窗和输入框

网站导航

让输入框获取焦点:

方法1:<body onload="document.getElementById('inputId').focus()">

方法2:

function init(){

document.getElementById("inputId").focus()

}

例如:

<body onload="document.getElementById('test').focus()">

我要获取焦点:<input type="text" name="test" id="test">

</body>