我有一个类型为time
的简单输入,我尝试在DOM树中设置下一个自动聚焦输入
<input type="time" name="startTime" (keyup)="setFocus($event)"/>
setFocus(element) {
if (element.target.value.length == 5) {
let coll = document.getElementsByTagName('input');
let array = Array.from(coll)
let thisOne = array.forEach((el) => {
if (el == element.target) {
let index = array.indexOf(el)
let next = array[index + 1]
next.focus();
next.select();
}
});
}
}
问题是当时间具有默认值时,值长度始终为5(在键入时),如05:45
或18:22
,那么如何设置下一个自动聚焦?有什么办法可以找出光标在第5位吗?有什么主意吗?
答案 0 :(得分:0)
知道输入元素的ID,然后可以使用JavaScript焦点方法设置焦点
document.getElementById(next.id).focus();
编辑:我发现,如果元素没有id,焦点将不起作用,如果您设置了元素id,那么您的代码将可以正常工作。