加载网页时如何自动将焦点设置到文本框?

IT技术 javascript html
2021-02-05 14:57:38

加载网页时如何自动将焦点设置到文本框?

是否有一个 HTML 标签可以做到这一点,还是必须通过 Javascript 来完成?

6个回答

如果您使用的是 jquery:

$(function() {
  $("#Box1").focus();
});

或原型:

Event.observe(window, 'load', function() {
  $("Box1").focus();
});

或普通的javascript:

window.onload = function() {
  document.getElementById("Box1").focus();
};

但请记住,这将替换其他加载处理程序,因此请在谷歌中查找 addLoadEvent() 以安全方式附加加载处理程序而不是替换。

为什么不将处理程序放在 body 元素上?有参考吗?谢谢
2021-03-16 14:57:38
因为将 javascript 与 HTML 分开会更清晰。您应该向 HTML 中的可视元素添加脚本行为。
2021-03-23 14:57:38

在 HTML 中,所有表单字段都有一个autofocus属性Dive Into HTML 5 中有一个很好的教程不幸的是,低于 10 的 IE 版本目前不支持

要使用 HTML 5 属性并回退到 JS 选项:

<input id="my-input" autofocus="autofocus" />
<script>
  if (!("autofocus" in document.createElement("input"))) {
    document.getElementById("my-input").focus();
  }
</script>

不需要 jQuery、onload 或事件处理程序,因为 JS 位于 HTML 元素下方。

编辑:另一个优点是它在某些浏览器中关闭了 JavaScript,当您不想支持旧浏览器时,您可以删除 JavaScript。

编辑 2:Firefox 4 现在支持该autofocus属性,只是不支持 IE。

我喜欢这种方法......该代码属于输入......摆脱输入和繁荣,相关代码就在那里......这些天我们迷失了......现在正试图简化。 ..
2021-03-27 14:57:38
怎么了autofocus="aufofocus"您提供的所有链接只是说要添加属性:autofocus
2021-04-04 14:57:38
在 XHTML 和 HTML4 时代attribute="value",布尔属性是很常见的HTML5 伴随着“空属性语法”,我们去掉了冗余。现在我们可以做<input checked disabled autofocus data-something>
2021-04-06 14:57:38

你需要使用javascript:

<BODY onLoad="document.getElementById('myButton').focus();">

@Ben 指出您不应该添加这样的事件处理程序。虽然这是另一个问题,但他建议您使用此功能:

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

然后在您的页面上调用 addLoadEvent 并引用一个将焦点设置到您想要的文本框的函数。

只需在文本字段中编写自动对焦。这很简单,它的工作原理如下:

 <input name="abc" autofocus></input>

希望这可以帮助。

这很好,但问题是,如果您有滑动样式的步骤,那将没有用,尤其是如果输入类型在第 3 步或第 4 步中,例如
2021-03-15 14:57:38

您可以通过以下方式使用 jquery 轻松完成:

<script type="text/javascript">

    $(document).ready(function () {
        $("#myTextBoxId").focus();
    });

</script>

通过在$(document).ready().

这意味着这个函数会在 DOM 准备好时执行。

关于READY函数的更多信息,请参考:http : //api.jquery.com/ready/