<body>
<input id="mobile"><br/>
<input><br/>
<input><br/>
<input><br/>
<input><br/>
<input><br/>
<input><br/>
</body>
//设置键盘按键表单字段获得焦点
$("#mobile").focus();//文档加载后第一个字段自动获得焦点
$(window).keydown(function(e){
var cur_focus=$(":focus");//获取当前获得焦点的表单元素
if(e.keyCode==13){//当点击回车键
if(cur_focus.length==0){//如果没有表单元素获得焦点
$("#mobile").focus();//使第一个表单元素获得焦点
}else{//如果有表单元素获得焦点
var cur_focus_index=$(":text").filter(":focus").index();//找到当前获得焦点的表单元素在所有text表单元素的index
$(":text").eq(++cur_focus_index).focus();//使下一个表单元素获得焦点
}
}
})
问题是希望按下回车键表单text会依次获得焦点,但情况并没有想象的那样区实现,求大神指点
在线调试:http://runjs.cn/code/bb0ekcc9
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
var cur_focus_index=$(":text").filter(":focus").index();//找到当前获得焦点的表单元素在所有text表单元素的index
正确写法是:
var cur_focus_index=$(":focus").index(":text");
var cur_focus_index=$(":text").index($(":focus"));
这两句都能正确的获取当前获得焦点的表单元素在所有text表单元素的索引