Cordova 键盘插件 native.keyboardopen 事件未触发。如何在键盘打开时停止滚动

Cordova keyboard plugin native.keyboardopen event not fired. How to stop scrolling whilst keyboard is open

我正在开发一个 cordova / angular 混合应用程序。我试图禁用用户在键盘打开时滚动的功能。

ionic ionic-plugin-keyboard 的 cordova 键盘插件提供了两个事件,一个用于键盘打开,另一个用于键盘关闭。 键盘关闭时的事件永远不会触发

在 angular 运行 脚本中(app.run(函数...)我有以下片段:

document.addEventListener('native.keyboardshow', keyboardShowHandler);

function keyboardShowHandler(e){
    alert("keyboard open"); //This never fires!
    $cordovaKeyboard.disableScroll(true);
}

window.addEventListener('native.keyboardhide', keyboardHideHandler);

function keyboardHideHandler(e){
    alert("keyboard closed"); //This fires as expected.
    $cordovaKeyboard.disableScroll(false);
}

'native.keyboardshow' 的事件处理程序从不触发,'native.keyboardhide' 事件如预期的那样持续触发。

谷歌搜索后,我发现 post 说该应用程序不能 运行 全屏模式。我在 confix.xml 中添加了以下内容:

<preference name="Fullscreen" value="false" />

无论如何我认为这是默认值,它没有区别,将值设置为 true 也没有区别。

有人遇到过这个吗?我正在使用 Cordova 6.0.0

您应该将您的侦听器注册到 window 对象,就像您已经对 'native.keyboardhide' 事件所做的那样:

window.addEventListener('native.keyboardshow', keyboardShowHandler);

function keyboardShowHandler(e){
    alert("keyboard open"); //This never fires!
    $cordovaKeyboard.disableScroll(true);
}