我正在开发一个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);
}