如何使用离子2/3在iOS应用中的TextField外部触摸时禁用键盘隐藏



我想在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()"

相关内容

  • 没有找到相关文章

最新更新