Javascript在移动设备上不工作,但在桌面上工作,用于四个otp框的下一个字段
在这里,下一个元素同级不起作用 若在框1中输入第一个数字,那个么它会自动切换到下一个框,它在桌面浏览器中工作正常,但在移动浏览器中不工作Javascript在移动设备上不工作,但在桌面上工作,用于四个otp框的下一个字段,javascript,angular,keycode,Javascript,Angular,Keycode,在这里,下一个元素同级不起作用 若在框1中输入第一个数字,那个么它会自动切换到下一个框,它在桌面浏览器中工作正常,但在移动浏览器中不工作 let element = $event.srcElement.nextElementSibling; element.focus() otpBox1(obj){ obj=(obj)?obj:window.event; 设charCode=(obj.which)?obj.which:obj.keyCode; 如果((charCode>31 | | char
let element = $event.srcElement.nextElementSibling;
element.focus()
otpBox1(obj){
obj=(obj)?obj:window.event;
设charCode=(obj.which)?obj.which:obj.keyCode;
如果((charCode>31 | | charCode==13)和&(charCode<48 | | charCode>57)){
返回false;
}
否则{
this.otpValue1=obj.key;
设otplength=this.otpValue1+this.otpValue2+this.otpValue3+this.otpValue4;
this.otplength=otplength.length;
让element=obj.srcelelement.nextElementSibling;
if(元素!=null){
元素focus();
obj.preventDefault();
}
返回true;
}
}
需要更多代码。。你是如何决定是否向前跳的?许多事件在触摸设备和由插入式键盘和鼠标控制的设备之间是非常不同的
<input type="text" #otpvalue1 maxlength="1" [value]="otpValue1" (paste)="pasteEvent($event)" (keypress)="otpBox1($event)" (keydown)="handleBackSpaceBox1($event)"/>
<input type="text" #otpvalue2 maxlength="1" [value]="otpValue2" (paste)="pasteEvent($event)" (keypress)="otpBox2($event)" (keydown)="handleBackSpaceBox2($event)">
<input type="text" #otpvalue3 maxlength="1" [value]="otpValue3" (paste)="pasteEvent($event)" (keypress)="otpBox3($event)" (keydown)="handleBackSpaceBox3($event)">
<input type="text" #otpvalue4 maxlength="1" [value]="otpValue4" (paste)="pasteEvent($event)" (keypress)="otpBox4($event)" (keydown)="handleBackSpaceBox4($event)" />
otpBox1(obj) {
obj = (obj) ? obj : window.event;
let charCode = (obj.which) ? obj.which : obj.keyCode;
if ((charCode > 31 || charCode == 13) && (charCode < 48 || charCode > 57)) {
return false;
}
else {
this.otpValue1 = obj.key;
let otplength = this.otpValue1 + this.otpValue2 + this.otpValue3 + this.otpValue4;
this.otplength = otplength.length;
let element = obj.srcElement.nextElementSibling;
if (element != null) {
element.focus();
obj.preventDefault();
}
return true;
}
}