循环监听输入框回车事件

1.第一种简单写法

function getKey(){
        if(event.keyCode==13){
            document.getElementById("password").focus();
        }
    }
    function getKey2(){
        if(event.keyCode==13){
            document.getElementById("tel").focus();
        }
    }
    function getKey3(){
        if(event.keyCode==13){
            document.getElementById("email").focus();
        }
    }
    function getKey4(){
        if(event.keyCode==13){
            document.getElementById("username").focus();
        }
    }
用户名:<input type="text" name="username" id="username" onkeypress="getKey();"></input>
        <br>
        密码:<input type="text" name="password" id="password" onkeypress="getKey2();"></input>
        <br>
        号码:<input type="text" name="tel" id="tel" onkeypress="getKey3();"></input>
        <br>
        邮箱:<input type="text" name="email" id="email" onkeypress="getKey4();"></input>

2.第二种循环写法

function init(){
    var aDivs = document.getElementsByTagName('input');//获取多个input集合  
    for(var i=0; i<aDivs.length; i++){  
      aDivs[i].index=i;
      aDivs[i].onkeypress=function(){  
              if(event.keyCode==13){
                  
                  var c=parseInt(this.index)+parseInt(1);
                  
            document.getElementById(aDivs[c].id).focus();
        }
    }  
}}  

解释:(aDivs[i].index=i;)通过给对象添加变量的方式解决了问题,就是每次把i保存下来作为对象的一个属性;

 ************************************* 

另外的处理变量i的问题:

var aDivs = document.getElementsByTagName('div');//获取多个div集合  
for(var i=0; i<aDivs.length; i++){  
      add(i);  
}  
function add(i){      
    aDivs[i].onclick=function(){  
           alert(i);  
    }  
} 

解释:利用闭包解决了闭包本身带来的问题;

以上内容所参考的页面:http://blog.csdn.net/playboyanta123/article/details/17241597

posted @ 2016-05-12 23:13  冷面书生_坤  阅读(282)  评论(0编辑  收藏  举报