当输入数字时,我必须自动聚焦下一个输入元素。
我的HTML:
"<input id='num-1' class='inp-num' data-pos='0' type='text' maxlength='1' name='one' onkeypress='isInputNumber(event)' autofocus='autofocus'/>" +
"<input id='num-2' class='inp-num' data-pos='1' type='text' maxlength='1' name='two' onkeypress='isInputNumber(event)'>" +
"<input id='num-3' class='inp-num' data-pos='2' type='text' maxlength='1' name='three' onkeypress='isInputNumber(event)'>" +
"<input id='num-4' class='inp-num' data-pos='3' type='text' maxlength='1' name='four' onkeypress='isInputNumber(event)'>" +
在我的javascript中,我有:
$('.inp-num').on('keyup', function() {
if ($(this).val()) {
$(this).next().focus();
}
});
这实际上很好,问题是当我试图在手机上使用它时,它一直保持在同一个输入,而不会转到下一个。我真的需要帮助。
谢谢!
在触发keyup
事件之前,您手机的浏览器没有接收到输入元素内的值。因此CCD_ 2此时为假。您需要使用另一种事件类型(如input
(来避免这种情况。
更多信息和游乐场:
https://www.w3schools.com/jsref/event_onchange.asp
$('.inp-num').on('input', function() {
if ($(this).val()) {
$(this).next().focus();
}
});