浏览器回车模拟TAB键切换焦点

IE11和Chrome浏览器都遵循W3C标准,w3c没提供修改keyCode值的方法,需要自己添加切换焦点的代码。

以下两种写法IE6~IE11和Chrome浏览器都支持。

//第一种写法
$('input:text').on('keydown', function (e) {
    if (e.keyCode == 13) { //回车
        var curEle = $(event.srcElement);
        var nxtEle = getNextInputInSameTab(curEle);
        if (nxtEle && nxtEle.length > 0) {
            nxtEle.focus();
        }
        return false; /*阻止回车默认事件,如提交表单*/
    }
});
 1 //第二种写法
 2 $('input:text').on('keydown', function (e) {
 3     if (e.keyCode == 13) { //回车
 4         event.preventDefault();/*阻止回车默认事件,如提交表单,然后自己添加代码跳转到下一个输入框获取焦掉。*/
 5         var curEle = $(event.srcElement);
 6         var nxtEle = getNextInputInSameTab(curEle);
 7         if (nxtEle && nxtEle.length > 0) {
 8             nxtEle.focus();
 9         }
10     }
11 });

 

IE6~IE10还支持以下写法:通过修改keyCode值来模拟tab键。

1 //IE6~IE10还支持以下写法
2 $('input:text').on('keydown', function (e) {
3     if (event.keyCode == 13) { 
4         event.keyCode = 9;
5     }
6 });

 

posted @ 2018-11-21 14:57  Linybo2008  阅读(1120)  评论(0编辑  收藏  举报