在PC浏览器中,有一个问题是弹出窗口会改变其在窗口大小调整上的位置。我用google搜索它,发现JMF有一个错误,从origin / #codeSource改变位置到窗口。
在移动浏览器中,我在页面滚动时遇到同样的问题。弹出窗口再次呈现在错误的位置。
我需要设置某种正确的位置或避免在窗口大小调整和页面滚动时重新打开多时间。
有人可以给我一些建议吗?
答案 0 :(得分:1)
您需要侦听popupbeforeposition
事件并更改该事件遗漏的ui
对象。该对象包含三个属性,用于定义弹出窗口的位置,ui.x
,ui.y
和ui.positionTo
。
后者属性的默认值为window
,它会覆盖以前添加到ui.x
和ui.y
的任何值。因此,每当popupafterposition
触发时,ui.positionTo
都应更改为null
而不是window
。
修改:以下代码应包含在pageinit
event (2)中。
$(document).on("pageinit", function () {
$("#popup_ID").on("popupbeforeposition", function (e, ui) {
ui.x = value; /* (1) */
ui.y = value;
ui.positionTo = null; /* this */
});
});
<强> Demo 强>
(1) value = number
(2) pageinit
是一个特殊的jQM事件,相当于.ready()
,应该用它代替它。