当另一个元素具有自动焦点时,如何为该元素提供自动焦点?

Bas*_*297 11 html javascript

我试图使用该textarea属性提供(当您单击按钮时添加的)自动对焦autofocus,但是当我这样做时它不起作用,我在控制台上收到此消息:

Autofocus processing was blocked because a document already has a focused element.
Run Code Online (Sandbox Code Playgroud)

所以现在的问题是: 当其他元素已经拥有文本区域时,如何将焦点转移到文本区域?

小智 8

为文本区域提供自动焦点基本上是在说“当页面加载时,该文本区域应该聚焦”,因此聚焦另一个元素不是问题:如果发生该错误,只需在您.blur()想要失去焦点的文本区域上使用该方法即可。然后.focus()对您想要聚焦的方法执行该方法

function focus1() {
  document.getElementById('ele1').focus()
}

function focus2() {
  document.getElementById('ele2').focus()
}
Run Code Online (Sandbox Code Playgroud)
<textarea id="ele1"></textarea>
<textarea id="ele2"></textarea>

<button onclick="focus1()">Click to focus inp1</button>
<button onclick="focus2()">Click to focus inp2</button>
Run Code Online (Sandbox Code Playgroud)