浏览器回车模拟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 });