离子键盘关闭未被解雇

时间:2018-06-11 07:26:59

标签: angular ionic-framework mobile keyboard

当用户在应用上滚动时,我正在尝试关闭键盘。这是代码:

html的

<ion-content class="maincontent" (ionScrollStart)="scrollStart()">
  <router-outlet></router-outlet>
</ion-content>

.TS

scrollStart() {
  Keyboard.close();
}

事件ionScrollStart工作正常,我添加了正确的依赖项以使键盘正常工作。有什么想法吗?

4 个答案:

答案 0 :(得分:0)

安装插件

<div class="container">
  <div class="first">First</div>
  <div class="second">Second</div>
  <div class="third">Third</div>
</div>

添加ionic cordova plugin add ionic-plugin-keyboard npm install --save @ionic-native/keyboard

app.module.ts

在ts中使用:

import { Keyboard } from '@ionic-native/keyboard';

@NgModule({
  ...

  providers: [
    ...
    Keyboard
    ...
  ]
  ...
})

Documentation

答案 1 :(得分:0)

键盘插件dosnt在离子(至少免费版)中工作。

获取键盘打开/关闭事件是这样的:

import {NgZone} from '@angular/core';
public IsKeyboardOpen:boolean=false;
    constructor(public ngZ:NgZone)
    {
        var innerHeight=window.innerHeight;
        window.onresize = (e) =>
       {
        this.ngZ.run(() => 
        {
          if(window.innerHeight< innerHeight)
          {
            this.IsKeyboardOpen=true;
          }
          else
          {
            this.IsKeyboardOpen=false;
          }
        });
    };
    }

关闭软键盘,将焦点对准任何其他未输入的元素,如下所示:

func()
{
   this.myButton.setFocus();
}

答案 2 :(得分:0)

在页面public keyboard: Keyboard中包含constructor。然后,您可以致电this.keyboard.close();

答案 3 :(得分:0)

我遇到了同样的错误,我能想到的解释是keyboard.close()事件现在已更改为keyboard.hide()