目前我正在开发一个使用phonegap,backbone.js& amp;的移动应用程序。 jquery mobile。在我看来,模态对话框或弹出窗口真的很痛苦。这是因为每次在移动设备上打开“键盘”时,弹出窗口或对话框都会不断跳跃,使得UX真的变得一团糟。
我找到了一些像Gareth Elms这样的Backbone.ModalDialog解决方案。但这在某种程度上令人不满意,因为“跳跃问题”仍然存在。
除了为每个小表单制作单个页面之外,还有其他解决方案吗?
答案 0 :(得分:1)
根据您首次定位弹出窗口的方式,窗口或来源,您可以重新定位 < em> popup 在打开后的任何阶段。
要在键盘打开后重新定位,您需要收听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 */
});
});
});