这可能很简单,但是谁能告诉我如何让光标在页面加载时在文本框上闪烁?
当前回答
你可以使用HTML5自动对焦。你不需要jQuery或其他JavaScript。
<input type="text" name="some_field" autofocus>
注意这在IE9及更低版本上不起作用。
其他回答
抱歉问了一个老问题。我通过谷歌找到了这个。
值得注意的是,它可以使用多个选择器,因此您可以针对任何表单元素,而不仅仅是一个特定的类型。
eg.
$('#myform input,#myform textarea').first().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">
将焦点设置在第一个文本字段:
$("input:text:visible:first").focus();
这也适用于第一个文本字段,但你可以将[0]更改为另一个索引:
$('input[@type="text"]')[0].focus();
或者,你可以使用ID:
$("#someTextBox").focus();
$(" #搜索”).focus ();
你也可以使用HTML5 element <autofocus>
HTML:
<input id="search" size="10" />
jQuery:
$("#search").focus();
推荐文章
- 用jQuery切换DIV背景图像
- 'React'指的是一个UMD全局,但当前文件是一个模块
- 为什么useState不触发重新渲染?
- 如何使用回调与useState挂钩在反应
- 网络请求失败
- 如何使用JavaScript大写字符串中每个单词的第一个字母?
- 如何使用箭头函数(公共类字段)作为类方法?
- 使用Javascript的atob解码base64不能正确解码utf-8字符串
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?
- Angular JS:当我们已经有了具有作用域的指令控制器时,指令的link函数还需要什么?
- 我如何在JavaScript中转换对象数组为一个对象?
- 如何让一个按钮将我的页面重定向到另一个页面?
- 如何让元素被点击(对于整个文档)?
- Node.js上的html解析器
- 大写还是小写文档类型?