【问题标题】:iPhone keyboard pushes page up in phonegapiPhone键盘在phonegap中向上推页面
【发布时间】:2014-08-14 05:46:42
【问题描述】:

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


关闭键盘后关闭
请帮忙...

【问题讨论】:

标签: jquery ios iphone jquery-mobile cordova


【解决方案1】:

现在您可以添加:

document.body.scrollTop = 0;

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

礼貌:link

【讨论】:

    【解决方案2】:

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

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

    它解决了我的问题。

    【讨论】:

      【解决方案3】:

      我遇到过类似的情况,但我需要将重点领域保持在底部。请注意,我会根据窗口大小来满足不同 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);
              });
          }
        }
      

      【讨论】:

        【解决方案4】:

        尝试添加:

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

        这就是我在 phonegap 构建中解决相同问题的方法。

        【讨论】:

        • 感谢您的回复。我试过了,但没有帮助。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        • 1970-01-01
        • 1970-01-01
        • 2012-07-11
        • 1970-01-01
        • 2023-02-24
        • 2014-06-06
        相关资源
        最近更新 更多