离子插件键盘不会在Android上触发事件

时间:2016-08-02 07:30:07

标签: android cordova keyboard cordova-plugins

我有下一个测试代码:

HTML:

<html>
  <head>
    <script src="js/app.js"></script>
    <script src="cordova.js"></script>
  </head>
  <body>
    <p><button>Show keyboard</button></p>
    <p><input></input></p>
    <p><span>?</span></p>
  </body>
</html>

和js:

document.addEventListener("deviceready", handler, false);
function handler() {
  window.addEventListener('native.keyboardshow', function() {
    document.getElementsByTagName("span")[0].innerHTML = "showed";
  });
  document.getElementsByTagName("button")[0].addEventListener("click", function() {
    document.getElementsByTagName("input")[0].focus();
    cordova.plugins.Keyboard.show();
  });
}

show()功能有效,我了解该插件可从我的应用中获得。但是当显示键盘时没有发生任何事情:我的span标记没有获得"showed"文字。

什么问题?

2 个答案:

答案 0 :(得分:1)

如果您要定位Android,请按照以下答案中的说明将<preference name="android-windowSoftInputMode" value="adjustResize" />添加到config.xml:https://stackoverflow.com/a/31683935/5356747

使用此首选项设置键盘事件开始在我的应用程序中启动。

答案 1 :(得分:0)

你可能已经添加了 cordova-plugin-keyboard (它的事件不会在Android上激活。另外,事件的名称也不同)。 您需要添加 ionic-plugin-keyboard cordova plugin add ionic-plugin-keyboard --save