cordova (keyup.enter)事件在iOS键盘中不起作用

nhjlsmyf  于 2022-11-15  发布在  iOS
关注(0)|答案(3)|浏览(243)

我已经开发了离子框架+Angular 的应用程序,对于一些功能,我有绑定(keyup.enter)事件与输入.但不知何故,它不工作在iOS设备的最新版本.但工作正常的旧版本的iOS设备一样(OS 12.5.4).
请帮我解决这个问题。
离子信息

简单源代码

<ion-input placeholder="Lot Code" [(ngModel)]="txtLotCode" (keyup.enter)="searchItemLotWS()" type="text"> </ion-input>

参考图像

j5fpnvbx

j5fpnvbx1#

问题是,从iOS版本13起,iPhone键盘(Shift/大写)按钮自动激活,因此按下的键变成Shift+Enter。
我不建议使用(keydown.enter),因为如果用户一直按下回车键,它将继续执行代码。
相反,您可以使用autocapitalize属性:<ion-input **autocapitalize="none"** placeholder="Lot Code" [(ngModel)]="txtLotCode" (keyup.enter)="searchItemLotWS()" type="text"> </ion-input> .

由于您使用的是离子框架,因此可以使用<ion-searchbar (search)="searchItemLotWS()"></ion-searchbar>,而不是使用ion-input,它与enter和shift+enter一起使用。

chhkpiq4

chhkpiq42#

我已经用(keydown.enter)替换了(keyup.enter)事件,它对我很有效,现在**“返回”**按钮在最新的iOS(ios 14)中对我很有效。
谢谢你的好意。

qcbq4gxm

qcbq4gxm3#

你试了什么?2你能给我们看看代码吗?3我试了下面的示例,它工作了。
对于html

<ion-input #Field1 (keyup)="gotoNextField(Field2)" </ion-input>
    <ion-input #Field2 (keyup)="gotoNextField(Field3)" </ion-input>
    <ion-input #Field3 (keyup)="gotoNextField(Field4)" </ion-input>
    <ion-input #Field4 (keyup)="finishFunction()" </ion-input>

对于ts

gotoNextField(nextElement)
  nextElement.setFocus();
}

相关问题