这可能很简单,但是有人能告诉我如何在页面加载时让文本框上的光标闪烁吗?
这可能很简单,但是有人能告诉我如何在页面加载时让文本框上的光标闪烁吗?
将焦点设置在第一个文本框上:
$("input:text:visible:first").focus();
这也适用于第一个文本字段,但您可以将[0]更改为另一个索引:
$('input[@type="text"]')[0].focus();
或者,您可以使用ID:
$("#someTextBox").focus();
$('input[type="text"]').get(0).focus();
对我有效。 - Rav.focus()
was depricated in 3.3, for newer versions use .trigger('focus');
- ricksautofocus
来实现这个功能。你不需要jQuery或其它JavaScript。<input type="text" name="some_field" autofocus>
id
! :P - Andreas<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来处理这么简单的事情。
<body OnLoad="document.myform.mytextfield.focus();">
在进行此操作之前,请考虑您的用户界面。我假设(尽管没有答案提到)您将使用jQuery的ready()
函数在文档加载时执行此操作。如果用户在文档加载前已经专注于另一个元素(这是完全可能的),那么让焦点被窃取会极其令人恼火。
您可以通过在每个<input>
元素中添加onfocus
属性来检查这一点,以记录用户是否已经专注于表单字段,然后如果他们已经专注,则不要窃取焦点:
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">
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
抱歉打扰了一个旧的问题,我通过谷歌找到了这个。
值得注意的是,可以使用多个选择器,因此您可以针对任何表单元素进行定位,而不仅仅是特定类型的一个。
例如:
$('#myform input,#myform textarea').first().focus();
这将聚焦于找到的第一个输入框或文本域,当然你也可以将其他选择器加入其中。如果你不能确定特定元素类型是第一个,或者想要一些通用/可重用的东西,那么这个功能就很方便。
我更喜欢使用以下内容:
<script type="text/javascript">
$(document).ready(function () {
$("#fieldID").focus();
});
</script>
autofocus
属性即可。 - OverCoder在输入框后面放置
<script type="text/javascript">document.formname.inputname.focus();</script>
单独使用$('#myTextBox').focus()
不能将光标放在文本框中,应该使用以下代码:
$('#myTextBox').focus();
$('#myTextBox:text:visible:first').focus();