使用jquery如何在页面加载时将第一个元素(编辑字段,文本区域,下拉字段等)聚焦在表单中?
就像是:
document.forms[0].elements[0].focus();
Run Code Online (Sandbox Code Playgroud)
但是使用jquery.
另一个要求是,当表单具有class ="filter"时,不要聚焦第一个元素.
nic*_*ckf 69
$('form:not(.filter) :input:visible:enabled:first').focus()
Run Code Online (Sandbox Code Playgroud)
这将选择第一个可见的输入元素(<input />,<select>,<textarea>)不具有类filter的吧.
Zak*_*ria 34
对于后台我在rails app 上的ruby中使用了脚本.在尝试了所有答案并发现它们都无法正常工作后,通过搜索谷歌我发现这个代码片段有效:
$(function() {
$("form:not(.filter) :input:visible:enabled:first").focus();
});
Run Code Online (Sandbox Code Playgroud)
结果是$('form :input:first')匹配每个表单上的rails插入的隐藏输入.
tva*_*son 13
我喜欢用类标记我选择的元素并按类选择,而不是将其保留到页面上元素的顺序.我发现这比在选择可能隐藏或不隐藏的元素时更新我的"真正的第一元素"算法更容易,可能会或可能不会被框架注入,...
$(document).ready( function() {
$('input.js-initial-focus:first').focus(); // choose first just in case
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38950 次 |
| 最近记录: |