HTML:
有自带的keyup.enter属性直接调用函数
<div *ngFor="let element of element_list">
<input class="elementInput" (keyup.enter)="focusNextInput($event)"/>
</div>
Typescript:
用$event.target获取输入框本身,document.getElementsByClassName("elementInput")得到的类型是HTMLCollectionOf<Element>,直接对其中元素focus()的话会报错element不存在focus属性,需要将其转化为HTMLInputElement对象
focusNextInput(thisInput:any){
var inputs = document.getElementsByClassName("elementInput")as HTMLCollectionOf<HTMLInputElement>;
for(var i=0;i<inputs.length;i++){
if(i==(inputs.length-1)){
break;
}
else if(thisInput.target == inputs[i]){
(inputs[i+1]).focus();
break;
}
}
}