HTML:
<div id="body"><input maxlength="1" class="input" type="text">
<input maxlength="1" class="input" type="text">
<input maxlength="1" class="input" type="text">
<input maxlength="1" class="input" type="text">
<input maxlength="1" class="input" type="text">
<input maxlength="1" class="input" type="text">
</div>
CSS:
.input {display:block;
width:40px;
height:35px;
float:left;
margin-left:10px;
text-align:center;
}
JS:
$(function() {
var inputLength = $('input').length;
//$('input').keyup(function(){})
//使用jQuery事件代理的事件绑定方式,不需要对每个input进行事件绑定,有利于性能优化
$('#body').delegate('input', 'keyup', function() {
var _this = $(this),
valLength = _this.val().length,
index = _this.index();
if (valLength > 0) {
if ((index + 1) > inputLength) return false; //输入完成时进行操作
_this.attr('data-in', 'true').next().focus();
} else if (valLength == 0 && _this.attr('data-in') == 'true') {
if (index == 0) return false; //删除所有时进行操作
_this.attr('data-in', 'false').prev().focus();
}
});
});