我有一个Ionic 4 / Angular 7应用程序,其中有以下自定义指令。
@Directive({
selector: '[appNumeric]'
})
export class NumericDirective {
//HostListener decorator handle event handlers for input (onKeyPress)
@HostListener('keypress', ['$event'])
public onkeypress(ev : any): void {
let isNumeric = ev.charCode >= 48 && ev.keyCode <= 57;
if (!isNumeric)
ev.preventDefault();
}
}
我将其应用如下
<ion-input appNumeric>
当我在PC上的Chrome上测试运行时(例如,Ionic服务),它可以正常运行,但是当我在Android手机上运行时,它根本无法启动。
有人知道为什么会这样吗?
在此先感谢您的帮助
答案 0 :(得分:1)
keypress
在移动设备上不起作用。使用ionInput
监听输入更改。另外,似乎您只想只允许输入数字,对吧?那么为什么不<ion-input type="number">