我正在使用Cordova 3.5和jQuery mobile来构建iOS应用程序。我在大多数应用程序中禁用了滚动功能;但是,当我选择输入字段时,iOS键盘会打开并向上滚动页面。我不想要这个功能。由于输入足够高,键盘不会覆盖它,我希望页面保持静止,而键盘覆盖页面的底部。
此问题与this one等其他问题类似,与发布的问题here相反。
但是,所有发布的答案都不适合我,所以我会在这里发布我的解决方案。
答案 0 :(得分:14)
使用
添加this plugincordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git
在命令行中。
在javascript的任何位置添加以下行以禁用从键盘滚动。
cordova.plugins.Keyboard.disableScroll(true);
在我的用例中,我添加了一个deviceready
事件监听器来评估此行,禁用应用程序中随处可见的自动键盘滚动。
那就是它!
答案 1 :(得分:2)
根据我的经验,并说这是一个尽可能避免第三方插件的开发人员,我发现Cordova中的虚拟键盘问题最好用插件解决。
Cordova插件目录有几个keyboard
个插件
(http://cordova.apache.org/plugins/?q=keyboard)
我推荐以下插件:
https://github.com/cjpearson/cordova-plugin-keyboard
提供以下命令以在虚拟键盘打开时禁用滚动。
cordova.plugins.Keyboard.disableScrollingInShrinkView(true);
答案 2 :(得分:0)
经过大量研究后,我找到了一个非常简单的答案,而其他答案都没有。
在你的 css 中做:
html {
touch-action: none;
}
body {
touch-action: all;
}