HTML5 - 在移动浏览器上不需要 <form> 自动对焦

HTML5 - unwanted <form> autofocus on mobile browsers

我的注册页面有两种形式;当您在移动浏览器上访问该页面时(在 Android 和 iOS 上确认),它会自动聚焦在 second 表单中的第一个输入元素上并打开键盘,跳过第一个表格。

我只想完全停止自动对焦,因为它会跳过一些预注册说明。(尽管理解 why/how会出现这种情况,为什么会选择第二种形式来重点关注!)

<div class="ui segment">
  <p>Information that is skipped past</p>

  <form class="ui form" id="welcomeFormEmail">
    <input type="email" name="preLaunchEmail" placeholder="Your email address">
    <button type="submit">Submit</button>
  </form>

<div class="at-pwd-form">
  <form id="at-pwd-form" action="#" method="POST" class="ui large form">
    <div class="ui stacked segment">
      <div class="at-input required field">
        <div class="ui fluid input icon">
          <input type="email" id="at-field-email" name="at-field-email" placeholder="Email" autocapitalize="none" autocorrect="off">
        </div>
      </div>

<!-- Various other fields -->
<!-- Various other fields -->
<!-- Various other fields -->

    <input type="submit" class="at-btn ui fluid large primary button" id="at-btn" value="Register">
  </div>
</form>
</div>
</div>

知道为什么会发生这种情况以及如何阻止它吗?

你可以使用模糊

如果您只有一个文本输入,您可以使用 getElementById 获取它并将其设置为模糊

 document.getElementById("myAnchor").blur();

但如果您有多个文本输入,此循环会获取您页面上的每个输入并禁用对所有输入的关注

var elelist = document.getElementsByTagName("input"); for(var i = 0; i < elelist.length; i++){
    elelist[i].addEventListener("focus", function(){
        this.blur();
    }); }