你的位置:首页 > Java教程

[Java教程]点击enter回车键实现表单元素切换焦点效果


点击enter回车键实现表单元素切换焦点效果:
现在网站都比较追求人性化,比如填写表单的时候,能够实现点击回车就可以切换表单元素的焦点,这样比使用鼠标进行切换更能让人接受,下面就通过代码实例介绍一下如何实现此功能。
代码如下:

<!DOCTYPE html>   <html>   <head>   <meta charset=" utf-8">   <meta name="author" content="http://www.softwhy.com/" />   <title>蚂蚁部落</title> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(function(){ $('#theform input:text:first').focus(); var $inp=jQuery('#theform 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> </head> <body> <form action="#" id="theform"><input type="text" name="one"/><input type="text" name="two"/><input type="text" name="three"/></form> </body> </html>

以上代码实现了我们的要求,点击回车键就可以实现切换文本框的焦点效果,下面介绍一下它的实现过程。
一.代码注释:
1.$(function(){}),当文档结构加载完毕再去执行函数中的代码。
2.$('#theform input:text:first').focus(),使表单中的第一个文本框获取焦点。
3.var $inp=jQuery('#theform input:text'),获取表单元素下的所有文本框元素集合。
4.$inp.bind('keydown',function(e){}),为文本框注册keydown事件处理函数。
5.var key=e.which,获取按下键或者按钮的键位序号。
6.if(key==13),当key值等于13的时候表示按下的是回车键。
7.e.preventDefault(),组织点击回车的默认值。
8.var nxtIdx=$inp.index(this)+1,获取下一个元素的索引值。
9.(":input:text:eq("+nxtIdx+")").focus(),使下一个表单元素获取焦点。
二.相关阅读:
1.:text选择器可以参阅jQuery的:text选择器一章节。
2.:first选择器可以参阅jQuery的:first选择器一章节。
3.focus()函数可以参阅jQuery的focus事件一章节。
4.bind()函数可以参阅jQuery的bind()方法一章节。
5.keydown事件可以参阅jQuery的keydown事件一章节。 
6.e.which属性可以参阅jQuery的event.which属性一章节。
7.e.preventDefault()函数可以参阅jQuery的event.preventDefault()方法一章节。 
8.index()函数可以参阅jQuery的index()方法一章节。
9.:eq()可以参阅jQuery的:eq()选择器一章节。