为了账号安全,请及时绑定邮箱和手机立即绑定

如何使表单元素在回车键下依次获得焦点,求大神指点

如何使表单元素在回车键下依次获得焦点,求大神指点

HUH函数 2018-09-05 13:36:01
<body>     <input id="mobile"><br/>     <input><br/>     <input><br/>     <input><br/>     <input><br/>     <input><br/>     <input><br/>     </body>//设置键盘按键表单字段获得焦点(function(){     $("#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
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

第一,以后贴代码麻烦贴完整大括号和括号,不然人家复制过去很容易出错;

第二,cur_focus.length==0是什么?想检测目前焦点框中有没有内容吧,但是cur_focus获取的是dom对象,用length去获取里面的内容长度?

第三,逻辑错误,检测一个焦点框是空的,应该将焦点始终保持在这个框吧,跳回到#mobile框是什么意思?

第四,如果有效(需要跳转焦点到下一个),为什么要那么绕,而且也是错误的计算,直接选择器选中现在的焦点然后找它的下一个兄弟节点就好了啊


查看完整回答
反对 回复 2018-10-29
  • 1 回答
  • 0 关注
  • 539 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信