防止iOS键盘在cordova 3.5中滚动页面

时间:2014-07-21 13:10:51

标签: javascript jquery ios cordova

我正在使用Cordova 3.5和jQuery mobile来构建iOS应用程序。我在大多数应用程序中禁用了滚动功能;但是,当我选择输入字段时,iOS键盘会打开并向上滚动页面。我不想要这个功能。由于输入足够高,键盘不会覆盖它,我希望页面保持静止,而键盘覆盖页面的底部。

此问题与this one等其他问题类似,与发布的问题here相反。

但是,所有发布的答案都不适合我,所以我会在这里发布我的解决方案。

3 个答案:

答案 0 :(得分:14)

使用

添加this plugin
cordova 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;
}