如何在输入类型时间内设置自动对焦

时间:2018-09-25 13:08:50

标签: javascript html angular typescript

我有一个类型为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:4518:22,那么如何设置下一个自动聚焦?有什么办法可以找出光标在第5位吗?有什么主意吗?

1 个答案:

答案 0 :(得分:0)

知道输入元素的ID,然后可以使用JavaScript焦点方法设置焦点

document.getElementById(next.id).focus();

编辑:我发现,如果元素没有id,焦点将不起作用,如果您设置了元素id,那么您的代码将可以正常工作。