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



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

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

在一个角度运行脚本(app.run(function...)我有以下代码片段:

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"事件会按预期持续触发。

经过一番谷歌搜索,我遇到了一个帖子,说该应用程序无法在全屏模式下运行。我在修复中添加了以下内容.xml:

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

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

有人遇到过这个吗?我正在使用科尔多瓦 6.0.0

您应该将

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

window.addEventListener('native.keyboardshow', keyboardShowHandler);
function keyboardShowHandler(e){
    alert("keyboard open"); //This never fires!
    $cordovaKeyboard.disableScroll(true);
}

最新更新