代码之家  ›  专栏  ›  技术社区  ›  Nikel Weis

模式对话似乎是移动开发中的一个难题

  •  2
  • Nikel Weis  · 技术社区  · 11 年前

    目前我正在使用phonegap、backline.js&jquery移动。在我看来,模态对话框或弹出窗口真的很痛苦。这是因为每次你打开移动设备上的“键盘”时,弹出窗口或对话框都会跳来跳去,让用户体验变得一团糟。

    我找到了一些解决方案 Backbone.ModalDialog 作者:Gareth Elms。但这在某种程度上令人不满意,因为“跳跃问题”仍然存在。

    除了为每个小表单制作一个页面之外,还有其他解决方案吗?

    1 回复  |  直到 11 年前
        1
  •  1
  •   Omar    11 年前

    取决于您第一次定位 弹出窗口 任何一个 起源 ,你可以 重新定位 这个 弹出窗口 在打开后的任何阶段。

    重新定位 它一次 键盘 是开放的,你需要倾听 focus 事件,然后重新定位它。

    $(document).on("pagecreate", "#pageID", function () { /* pageinit for jQM 1.0 - 1.3 */
      $("#popupID input").on("focus", function () {
        $("#popupID").popup("reposition", {
          y: 0 /* reposition it to window's top */
        });
      }).on("blur", function () {
        $("#popupID").popup("reposition", {
          positionTo: "window" /* reposition it to window when keyboard is hidden */
        });
      });
    });