您的位置:首页 > Web前端 > JQuery

jquery 实现上下左右回车键按下 移动文本框焦点

2013-05-08 11:37 686 查看
 

页面文本框格式是

input1input2
input3input4
js代码中 有inp.length-2   是因为本人想实现按下移键 焦点直接从input1 跳到input3

如果不需要的话  页面中 只需要idx != inp.length-1 和 idx!=1的判断即可

获得焦点只需要 inp[idx+1].focus();和 inp[idx-1].focus();

在页面的JavaScript中添加如下代码

function keydown(e)

{

  var e=e||event;

  var currKey=e.keyCode||e.which||e.charCode;

 var inp = $('input:text');//找到所有的文本框

 $("input:text").each(function () {                                  // 循环表单中所有的 text

            $(this).keyup(function () {                       

                if (event.keyCode == 40) {                           //当按下移键触发事件

                    var idx = inp.index(this);                //得到当前文本框的 索引

                    if (idx != inp.length - 2) {                        //判断 如果 不是最后一列文本框的索引

                        inp[idx+2].focus();                             // 下一个文本框得到焦点

                    }

                 }

                if(event.keyCode==39){       //当按右移键触发事件

                    var idx=inp.index(this);

                     if(idx!=inp.length-1){

                        inp[idx+1].focus();

                      }

                 }

                if(event.keyCode==37){       //当按左移键触发事件

                    var idx=inp.index(this);

                     if(idx!=1){//判断当前焦点不是对一个文本框

                        inp[idx-1].focus();

                     }

                 }

                if(event.keyCode==38){       //当按上移键触发事件

                    var idx=inp.index(this);

                     if(idx!=1||idx!=2){   //判断当前焦点不是最第一列文本框的索引

                        inp[idx-2].focus();

                     }

                 }

                if(event.keyCode==13){       //当按回车键触发事件

                    var idx=inp.index(this);

                     if(idx!=inp.length-1){

                        inp[idx+2].focus();

                     }

                  }

              

            });

    

      });

 

}

document.onkeydown =keydown;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息