我想在使用离子构建的iOS应用程序中触摸文本字段外时禁用键盘隐藏。我想只使用键盘返回按钮隐藏键盘。有没有办法在触摸文本字段外时禁用键盘隐藏?
答案 0 :(得分:1)
确保你有
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
如果要在iOS上调用focus(),请在config.xml中。
然后创建指令:
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。
答案 1 :(得分:1)
检查此Doc。
安装以下插件
ionic cordova plugin add ionic-plugin-keyboard
npm install --save @ionic-native/keyboard
<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()"