当我输入一个字符时,我尝试将光标从一个输入移动到另一个输入。
HTML:
<div class="div-word">
R
<input class="input-letter" type="text" maxlength="1"/>
V
<input class="input-letter" type="text" maxlength="1"/>
È
<input class="input-letter" type="text" maxlength="1"/>
E
JS:
$('.input-letter').on('keypress', function (e){
$(this).next('.input-letter').focus();
});
首先,我使用事件“keyup”但是在Ipad上没有检测到事件,所以我使用了“keypress”。问题是IE会在插入字符之前触发事件,并且字符将插入到下一个输入中。
所以我尝试了一个不那么好的修复:
$('.input-letter').on('keypress', function (e){
e.preventDefault();
var code = e.keyCode || e.which;
$(this).val(String.fromCharCode(code));
$(this).next('.input-letter').focus();
});
这项工作,但我还需要在每个输入上捕获“更改”事件,并且preventDefault取消了它。
任何想法?
FIDDLE:http://jsfiddle.net/9eU4E/