码迷,mamicode.com
首页 > 其他好文 > 详细

点击enter回车键实现表单元素切换焦点效果

时间:2016-01-28 20:59:53      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:

点击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()选择器一章节。

 

点击enter回车键实现表单元素切换焦点效果

标签:

原文地址:http://www.cnblogs.com/come-on/p/5167252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!