Windows系统的IP输入框,体验很好,输满了3位就可以自动到下一个焦点。使用jquery做了一个类似的http://jsfiddle.net/chromefans/3P5FU/但是运行下就会发现其实体验并不是很好,因为如果我要编辑第二个框的第二个数字,会立刻触发keyup然后跳到下一个……有想过判断光标位置之类的,但是感觉不“优雅”…,求助有没有优雅的办法。
2 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
屏蔽掉keycode为8(退格)和46(delete)的keyup响应如何?这样删除字符就不会触发了$('.rgbinput').keyup(function(e){varinput=$('.rgbinput');if($(this).val().length==$(this).attr('maxlength')&&!(e.keyCode==8||e.keyCode==46)){input.eq(input.index($(this))+1).focus();}嗯那就试试不要在在keyup马上验证而是在keyup后延时0.1秒验证$('.rgbinput').keyup(function(e){setTimeout(function(){if($(this).val().length==$(this).attr('maxlength')&&!(e.keyCode==8||e.keyCode==46)){input.eq(input.index($(this))+1).focus();}},100);
添加回答
举报
0/150
提交
取消