在离子2 Android应用程序中未触发按键事件。 iOS和浏览器(chrome)平台也能正常运行。我的要求是限制键盘输入一些字符。即,不想显示我输入字段中输入的字符。以下代码片段如下..
model.store
:HTML
onKeyPress(event) {
const pattern = /[0-9\.\ ]/;
let inputChar = String.fromCharCode(event.charCode);
if (!pattern.test(inputChar)) {
event.preventDefault();
}
}
上面的函数没有在android中触发。任何人都可以建议我一个解决方案吗?
答案 0 :(得分:0)
我通常使用JS密钥监听器:
<强> page.ts:强>
ionViewDidLoad() {
document.addEventListener('keydown', (key) => {this.keydown(key)} );
}
keydown(key){
console.log('Tadaaah')!
}
如果要在函数keydown(key)内触发每个键的事件,请听key.keyCode:
keydown(key){
console.log(key.keyCode);
}
按下要触发事件的按键,记笔记,然后添加功能:
keydown(key){
if (key.keyCode == 13){
this.functionA();
return;
}
if (key.keyCode == 32){
this.functionB();
return;
}
}
functionA() {
console.log('Function A');
}
functionB() {
console.log('Function B');
}
您的代码应该是这样的:
ionViewDidLoad() {
document.addEventListener('keydown', (key) => {this.onKeyPress(key)} );
}
onKeyPress(key) {
const pattern = /[0-9\.\ ]/;
let inputChar: string = key.keyCode;
if (!pattern.test(inputChar)) {
event.preventDefault();
}
}