Javascript 如何关注下一步<;输入>;在*ngFor指令内
我有一个表单,它根据用户希望输入的托盘数量捕获一些条形码。这反过来会重复一组输入,每个输入捕获一个唯一的条形码 条形码.component.html 默认情况下,扫描仪在扫描有效条形码后自动执行keyup.enter事件 我希望焦点从刚刚扫描的输入转移到下一个空的可用兄弟 TL;DRJavascript 如何关注下一步<;输入>;在*ngFor指令内,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我有一个表单,它根据用户希望输入的托盘数量捕获一些条形码。这反过来会重复一组输入,每个输入捕获一个唯一的条形码 条形码.component.html 默认情况下,扫描仪在扫描有效条形码后自动执行keyup.enter事件 我希望焦点从刚刚扫描的输入转移到下一个空的可用兄弟 TL;DR 如何将焦点设置为下一个尚未填充的可用输入同级?您可以执行以下更改 (keyup.enter)="keytab($event.target)" keytab(e) { let elem
如何将焦点设置为下一个尚未填充的可用输入同级?您可以执行以下更改
(keyup.enter)="keytab($event.target)"
keytab(e) {
let element = e.parentElement.parentElement.childNodes; // get the parent element
for(let child of element){
if(child.firstChild.type === "text" && child.firstChild.innerHTML === ""){
child.firstChild.focus();
return;
}
}
您可以进行以下更改
(keyup.enter)="keytab($event.target)"
keytab(e) {
let element = e.parentElement.parentElement.childNodes; // get the parent element
for(let child of element){
if(child.firstChild.type === "text" && child.firstChild.innerHTML === ""){
child.firstChild.focus();
return;
}
}
我设法用简单的旧Javascript解决了这个问题 在
*ngFor*
中的我的元素上,我添加了一个数据属性
[attr.id]="x"
基于*ngFor
的索引值
在我的keytab
方法中,我执行以下操作
if (event.which === 13) {
var target = event.target || event.srcElement || event.currentTarget;
var id = target.attributes.id; // returns target element object
var val = id.nodeValue; // gets node value of element
if((+val + 1) < this.number) { //prevents focus to 'null' element
document.getElementById(String(+val + 1)).focus(); //shifts focus to next element
}
}
if(event.which==13){
var target=event.target | | event.src元素| | event.currentTarget;
var id=target.attributes.id;//返回目标元素对象
var val=id.nodeValue;//获取元素的节点值
if((+val+1)
我用简单的旧Javascript解决了这个问题
在*ngFor*
中的我的元素上,我添加了一个数据属性
[attr.id]="x"
基于*ngFor
的索引值
在我的keytab
方法中,我执行以下操作
if (event.which === 13) {
var target = event.target || event.srcElement || event.currentTarget;
var id = target.attributes.id; // returns target element object
var val = id.nodeValue; // gets node value of element
if((+val + 1) < this.number) { //prevents focus to 'null' element
document.getElementById(String(+val + 1)).focus(); //shifts focus to next element
}
}
if(event.which==13){
var target=event.target | | event.src元素| | event.currentTarget;
var id=target.attributes.id;//返回目标元素对象
var val=id.nodeValue;//获取元素的节点值
if((+val+1)
如何识别扫描已完成?@micronyks扫描仪执行自动输入键事件,如果没有下一个空输入,则填充输入键?如何识别扫描已完成?@micronyks扫描仪执行自动输入键事件,如果没有下一个空输入,则填充inputhow?当然,您必须根据需要修改此代码。我尝试了类似的代码,并得到了这个。当然,你将不得不修改此代码根据要求。我尝试了类似的代码,得到了这个。