A-A+
js/jquery实现回车键切换输入框焦点代码
用JavaScript实现回车键切换输入框焦点的功能,不是回车换行哦,在Textarea中,回车换行是默认功能,不过若要在textarea中使用回车切换输入框焦点功能的话,回车换行就要失效了,不过input对象可以用,一般在表单中,input元素是比较多的,下面来个例子,代码如下:
- <script type="text/javascript">
- function handleEnter (field, event) {
- var keyCode = event.keyCode ? event.keyCode : event.which ?
- event.which : event.charCode;
- if (keyCode == 13) {
- var i;
- for (i = 0; i < field.form.elements.length; i++)
- if (field == field.form.elements[i])
- break;
- i = (i + 1) % field.form.elements.length;
- field.form.elements[i].focus();
- return false;
- }
- else
- return true;
- }
- </script>
这样来使用上面的Js代码,代码如下:
- <form>
- <input type="text" onkeypress="return handleEnter(this, event)"><br>
- <input type="text" onkeypress="return handleEnter(this, event)"><br>
- <textarea onkeypress="return handleEnter(this, event)">回车切换焦点</textarea>
- </form>
jquery例子
实现步骤如下:
1、首先引用Jquery类库
- <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
2、Javascript代码,代码如下:
- <script type="text/javascript">
- $(function () {
- $('input:text:first').focus();
- var $inp = $('input:text');
- $inp.bind('keydown', function (e) {
- var key = e.which;
- if (key == 13) {
- e.preventDefault();
- var nxtIdx = $inp.index(this) + 1;
- $(":input:text:eq(" + nxtIdx + ")").focus();
- }
- });
- });
- </script>
分析:
- $('input:text:first').focus();
页面初始化时,焦点定位第一个文本框内
- var $inp = $('input:text');
取的type=文本框的元素集合
- $inp.bind('keydown', function (e) {}
给文本框集合绑定'keydown'事件
- var key = e.which;
取的当前按下的键值 比如Enter的键值=13
e.preventDefault();