如何使用jQuery在页面加载时关注表单input文本字段?

这可能很简单,但有人可以告诉我如何让页面加载文本框上的光标闪烁?

将焦点设置在第一个文本字段上:

$("input:text:visible:first").focus(); 

这也是第一个文本字段,但您可以将[0]更改为另一个索引:

 $('input[@type="text"]')[0].focus(); 

或者,您可以使用ID:

 $("#someTextBox").focus(); 

您可以使用HTML5 autofocus 。 你不需要jQuery或其他JavaScript。

 <input type="text" name="some_field" autofocus> 

注意这不适用于IE9及更低版本。

当然:

 <head> <script src="jquery-1.3.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $("#myTextBox").focus(); }); </script> </head> <body> <input type="text" id="myTextBox"> </body> 

在你做这个之前想想你的用户界面。 我假设(虽然没有答案已经这么说),你会这样做,当文档加载使用jQuery的ready()函数。 如果用户在文档加载之前已经将注意力放在了不同的元素上(这是完全可能的),那么让他们的焦点被盗走是非常令人恼火的。

您可以通过在每个<input>元素中添加onfocus属性来检查该属性,以logging用户是否已经将焦点放在了表单字段上,如果他们有:

 var anyFieldReceivedFocus = false; function fieldReceivedFocus() { anyFieldReceivedFocus = true; } function focusFirstField() { if (!anyFieldReceivedFocus) { // Do jQuery focus stuff } } <input type="text" onfocus="fieldReceivedFocus()" name="one"> <input type="text" onfocus="fieldReceivedFocus()" name="two"> 

为什么每个人都使用jQuery这样简单的事情。

 <body OnLoad="document.myform.mytextfield.focus();"> 

HTML:

  <input id="search" size="10" /> 

jQuery的:

 $("#search").focus(); 

对不起,碰到一个老问题。 我通过谷歌find了这个。

还值得注意的是,它可能使用多个select器,因此您可以定位任何表单元素,而不只是一个特定的types。

例如。

 $('#myform input,#myform textarea').first().focus(); 

这将关注它find的第一个input或textarea,当然你也可以在混合中添加其他select器。 如果你不能确定一个特定的元素types是否是第一个,或者你想要一些一般/可重用的东西。

这是我喜欢使用的:

 <script type="text/javascript"> $(document).ready(function () { $("#fieldID").focus(); }); </script> 

input后放置

 <script type="text/javascript">document.formname.inputname.focus();</script>