<input type="text" class="txt" maxlength="5" placeholder="1"/><br/><input type="text" class="txt" maxlength="5" placeholder="2"/><br/><input type="text" class="txt" maxlength="5" placeholder="3"/><script> var txt = document.getElementsByClassName("txt"); for(var i=0;i<txt.length;i++){ txt[i].onkeyup = function(){ if(this.value.length == 5){ this.blur(); txt[i+1].focus(); }; };}</script>需求是这样的:在输入框输入内容之后,自动将焦点定位到下一个input上
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
改成这样
var txt = document.getElementsByClassName("txt");
for(var i=0;i<txt.length;i++){
(function(i){
txt[i].onkeyup = function(){
if(this.value.length == 5){
this.blur();
txt[i+1].focus();
};
};})(i);
}或者给input加一个属性记录下一个要focus的
var txt = document.getElementsByClassName("txt");
for(var i=0;i<txt.length;i++){
txt[i].dataset.nextid=i+1;
txt[i].onkeyup = function(){
if(this.value.length == 5){
this.blur();
txt[this.dataset.nextid].focus();
};
};
}还可以直接把var改成let,其他一切不变(es6特性)
添加回答
举报
0/150
提交
取消
