iPhone键盘在phonegap中推送页面

时间:2014-06-24 04:54:32

标签: jquery ios iphone jquery-mobile cordova

我正在使用jquery mobile 1.4.2在phonegap / cordova 3.3.0中开发iOS应用程序
我设计了一个带有多个文本框的页面用于输入,但是当iPhone本机键盘打开时,它在iphone 4中推送页面,在iphone 5中我也面临同样的问题但是在关闭键盘后页面进入原始状态,但在iphone 4页面卡住了推顶位置。检查下面的屏幕截图。 enter image description here
这是屏幕
这是键盘打开的时候 enter image description here


关闭键盘后关闭 enter image description here
请帮忙......

4 个答案:

答案 0 :(得分:2)

现在您可以添加:

document.body.scrollTop = 0;

每当输入字段触发模糊事件时。

礼貌:link

答案 1 :(得分:1)

不确定它是否相关,但无论如何我会添加它,因为它解决了我的问题, 我刚补充说:

  window.addEventListener('native.keyboardhide', function(){
                            window.scrollTo(0,0);
                        });

它解决了我的问题。

答案 2 :(得分:0)

我遇到了类似的情况,但我需要将重点领域保持在最底层。请注意,我根据窗口大小来满足不同iphone型号的情况。

  function fixKeyboardOffset(){
    var iOSOffset = 0;
    switch ($(window).height()){
      case 716 : iOSOffset = 340; break;
      case 647 : iOSOffset = 285; break; 
      case 548 : iOSOffset = 190; break;  
      case 460 : iOSOffset = 110; break;  
    }
    if (device.platform == 'iOS'){
        $('#comment-field').on('focus', function(e) {
          $('html, body').animate({
              scrollTop: $("#content_comment_container").offset().top - iOSOffset
          }, 0);
        });
    }
  }

答案 3 :(得分:-1)

尝试添加:

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

这就是我在phonegap build中解决同样问题的方法。