Html输入,始终处于焦点

时间:2014-11-06 22:54:21

标签: html css html5 css3

如何始终保持html输入的焦点? 在创建元素时使用autofocus属性有助于集中在页面加载,但它不会将焦点放在对象上。有没有简单的方法来保持焦点呢?

4 个答案:

答案 0 :(得分:21)

试试这个:



<!-- On blur event (unfocus) refocus the input -->
<input onblur="this.focus()" autofocus /> 
<input value="Can't focus on this" />
&#13;
&#13;
&#13;

基本上,你添加一个blur事件(只要输入失去焦点就会发生),而在模糊事件中,你会专注于输入。此外,您还可以添加autofocus属性以开始关注。

P.S。如果您打算将这个用于网站供实际人员使用,从用户界面的角度来看,这可能不是一个好主意。

答案 1 :(得分:1)

对于 FIREFOX ,请尝试使用 setTimeOut

我的JS:

myFocusFunction(){
      let myInput = document.getElementById('idOfInput');
      setTimeout(function() { 
           myInput .focus(); 
      }, 100);
}

我的HTML:

<input type="text" ng-blur="myFocusFunction()" auto-focus >

答案 2 :(得分:1)

用于反应等:

<input  type={'text'}  autoFocus={true} onBlur={({ target }) => target.focus()}/>

答案 3 :(得分:0)

对我有用的是在HTML输入上使用autofocus属性,将其集中在初始页面加载上,然后禁用所有mousedown事件:

document.onmousedown = (e) => {
  e.preventDefault();
}

很明显,如果您需要支持鼠标事件,则希望使用一种不太激进的方法,但这适合我的命令行模拟器Web应用程序用例。