当页面加载时,如何使用jquery聚焦表单中的第一个元素(编辑字段、文本区、下拉字段等)?
类似于:
document.forms[0].elements[0].focus();
而是使用jquery。
另一个要求是,当表单有过滤器“class=”时,不要关注第一个元素。
发布于 2008-11-06 01:35:42
作为背景,我使用了ruby on rails应用程序中的脚本。在尝试了你所有的答案后,发现它们都不能工作,在谷歌上搜索一下,我发现了这个工作的代码片段
$(function() {
$("form:not(.filter) :input:visible:enabled:first").focus();
});
事实证明,$('form :input:first')
匹配rails在每个表单上插入的隐藏输入。
发布于 2008-11-05 20:32:01
$('form:not(.filter) :input:visible:enabled:first').focus()
这将选择第一个没有filter
类的可见输入元素(<input />
、<select>
、<textarea>
)。
发布于 2008-11-05 20:32:31
我喜欢用类标记我选择的元素,并按类进行选择,而不是让它按照元素在页面上的顺序进行选择。我发现这比在选择可能隐藏或不隐藏、可能或不可能被框架注入的元素时,尝试更新我的“什么是真正的第一元素”算法要容易得多……
$(document).ready( function() {
$('input.js-initial-focus:first').focus(); // choose first just in case
});
https://stackoverflow.com/questions/267615
复制相似问题