我正在处理一个项目,在这个项目中,我使用javascript创建了一个随机数量的输入字段,其中输入字段具有maxlength=“1”
,当用户用每个字母填充所有字段时,会出现一个submit按钮。 问题是,当一个字段被填充时,我希望光标移动到下一个输入字段。 我试图使用带有onkeyup
事件的EventListener
将此功能添加到输入元素中。 然而,当我在代码中实现这一点时,光标移动功能不能工作,当我检查页面时,我没有看到任何错误。
我的代码:https://jsfiddle.net/bill_sk/2t7vlc5y/2/
我会很感激你的帮助。 提前谢谢你。
请尝试“keyup”
而不是“onkeyup”
。 如果您正在处理类似的问题,请始终尝试找出代码的哪一部分不能与console.log()
一起工作。还有一些其他错误,但这是可行的
elem.addEventListener("keyup" , evt => {
elem = evt.target
if(elem.value.length >= elem.maxLength){
let el = document.getElementById(parseInt(elem.id) +1)
el.focus();
}
});
首先,您需要侦听keyup
事件,而不是onkeyup
事件
elem.addEventListener("keyup" , evt => {
然后获得下一个输入元素,如下所示
let el = document.getElementById(parseInt(elem.id) +1).focus();
inputLists.forEach(input => {
input.addEventListener("keyup", ()=>{
if(input.value.length === input.maxLength && parseInt(input.id) < inputLists.length) {
document.getElementById(parseInt(input.id)+1).focus();
}
})
快乐的编码!