我想在iOS应用程序中通过使用离子构建的iOS应用程序在iOS应用程序中触摸键盘隐藏。我想仅使用键盘返回按钮隐藏键盘。有什么办法可以禁用键盘在Textfield外部接触时隐藏?
确保您有
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
在您的config.xml中,如果要在iOS上调用focus((。
然后创建指令:
import { Directive, ElementRef, Renderer } from '@angular/core';
@Directive({
selector: '[autofocuser]'
})
export class Autofocuser {
constructor(private element: ElementRef, private renderer: Renderer) {}
ngAfterViewInit() {
let el = this.element.nativeElement.children[0]
el.addEventListener('blur', (event) => {
this.stopBubble(event);
this.renderer.invokeElementMethod(el, 'focus', []);
});
}
stopBubble(event) {
event.preventDefault();
event.stopPropagation(); //Stops event bubbling
}
}
用指令标记您的输入字段。
请参阅https://github.com/ionic-team/ionic-plugin-keyboard/issues/81。
检查此doc。
在下面安装此插件
ionic cordova plugin add ionic-plugin-keyboard
npm install --save @ionic-native/keyboard
在您的HTML页面内。
<ion-input type="text" (blur)="closeKeyboard()"></ion-input>
在您的TS文件中
import { Keyboard } from '@ionic-native/keyboard';
constructor(private keyboard: Keyboard) { }
closeKeyboard(){
this.keyboard.close();
(or)
this.keyboard.open();
}
当您在键盘外触摸键盘时,它将关闭键盘
更新尝试在您的输入中使用它
(mousedown)="something(); $event.preventDefault()"