jQuery MiniUI

 找回密码
 立即注册
查看: 2267|回复: 2
打印 上一主题 下一主题

input如何用enter自动获得下个input的焦点? [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-6-5 16:17:17 |只看该作者 |倒序浏览
我的表单上有许多mini的类input。我想实现键入“Enter”时,能想tab一样自动跳入到下个input,该input获得焦点

Rank: 8Rank: 8

沙发
发表于 2014-6-5 16:20:21 |只看该作者
目前只支持tab键

Rank: 4

板凳
发表于 2014-9-12 14:40:28 |只看该作者
felt 发表于 2014-6-5 16:20
目前只支持tab键

<!--刘子良增加测试20140815 -->
    <script type="text/javascript">
   
    /****
     *
         * 函数名:
         * 机 能: 页面一加载时候初始、绑定事件
         * 输 入:
         * 输 出: 无
         * 日 期:2014-08-15
         * 作 者:刘子良
         *
         *****/
      $(document).ready(function(){
                          sxzyinit();
          });
          
          //得到form表单里面所有的控件
          var controls=form.getFields();

      //文本框烈属
      var cols=2;
          function getCols(col){
                 cols=col;
          }
          var obj;
          var CanMove=false;
          var key;
          
          //定义光标离开事件 获取当前的文本框对象
          function setobj(e){
                  obj=e.sender;//当前文本框对象
          }
          

          
        /****
     *
         * 函数名:sxzyinit
         * 机 能:绑定:onkeydown、onkeyup事件
           onkeydown: 事件会在用户按下一个键盘按键时发生
           onkeyup:事件会在键盘按键被松开时发生
         * 输 入:
         * 输 出: 无
         * 日 期:2014-08-15
         * 作 者:刘子良
         *
         *****/
          function sxzyinit(){
                  document.onkeydown=keyDown;
                  document.onkeyup=keyUp;
          }
          
        /****
     *
         * 函数名:keyDown
         * 机 能: 键盘按下事件
         * 输 入: DnEvents 当前方向键按下事件对象
         * 输 出: 无
         * 日 期:2014-08-15
         * 作 者:刘子良
         *
         *****/
      function keyDown(DnEvents){
                  var key=window.event.keyCode;
                  if(key==116){
                          window.event.keyCode=0;
                          return false;
                  }
             
             //依次遍历所有的表单控件集合
                   for(var i=0;i<controls.length;i++){
                  if(controls==obj){
                          if (key == 37){//← 左键
                                  if(i>0){
                                     nui.get(controls[i-1].name).focus();                       
                                  }
                          }
                          if (key == 38){//↑上键
                                  if(i>cols-1){
                                          nui.get(controls[i-cols].name).focus();       
                                  }
                          }
                          if (key == 39){//→ 右键
                                  if(i<controls.length-1){
                                     nui.get(controls[i+1].name).focus();                                  
                                  }
                          }
                          if (key == 13)//回车键Enter
                          {//→
                                  event.keyCode = 9;
                          }
                          if (key == 40){//↓ 下键
                                  if(i<controls.length-cols){
                                           nui.get(controls[i+cols].name).focus();
                                  }
                           }
                    }
             }
      }
      
     /****
      *
          * 函数名:keyUp
          * 机 能: 键盘按下事件
          * 输 入: UpEvents 当前方向键按下起来事件对象
          * 输 出: 无
          * 日 期:2014-08-15
          * 作 者:刘子良
          *
          *****/
          function keyUp(UpEvents){
                  return false;
          }
           
    </script>

Archiver|普加软件

GMT+8, 2024-6-29 05:48 , Processed in 1.040806 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部