输入框聚焦问题

图片描述

两个问题:

1. qq下第一个输入框输入完毕后,后续的输入框会聚焦,但是此时软键盘在一次输入完毕后,会隐藏,即使后续的输入框是聚焦状态,也不会弹起。除非手动触发后续输入框

2.在iOS11(iOS10不会出现)输入会有卡顿,光标偶尔会有错乱,代码如下:

var inputDoms = $('.vCodeInput>input');
for (var i = 0; i < inputDoms.length; i++) {
    var t = inputDoms[i];
    inputDoms[0].focus();
    t.index = i;
    t.oninput = function () {
        this.value = this.value.replace(/^(.).*$/, '$1');
        var next = this.index + 1;
        if (next > inputDoms.length - 1) return;
        if (this.value != '') {
            inputDoms[next].focus();
        }
        if (inputDoms[0].value != '') {
            $('.marning').css("display", "none")
        }
    }
}

有什么好的解决方法么

阅读 4.2k
1 个回答

更新一下,四个框可以用label包裹
<label for="word">

xxx
xxx
xxx
xxx

</label>
<input name="word">
这样点击四个框就自动聚焦input啦
happy


有一个方案可以参考:
四个框下只有一个input, 隐藏(visibility: hidden;)
输入框拉起或者点击四个框的时候聚焦到 input
这样一次聚焦就能输入全部四个字,键盘就不会消失,也不需要切换聚焦这种操作
输入多少个字符就把框填多少个
happy

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题