在 PC 浏览器中,存在弹出窗口在调整窗口大小时改变其位置的问题。我用谷歌搜索了一下,发现 JMF 有一个错误,将positionTo从origin/#codeSource更改为window。
在移动浏览器中,我在页面滚动上遇到同样的问题。弹出窗口再次呈现在错误的位置。
我需要以某种方式设置正确的位置,或者避免在窗口大小调整和页面滚动时多次重新打开。
有人可以给我一个建议吗?
你需要听popupbeforeposition
事件和改变ui
该事件忽略的对象。该物体容纳三个特性定义弹出窗口的位置,ui.x
, ui.y
and ui.positionTo
.
后者的默认值property is window
,并且它会覆盖之前添加的任何值ui.x
and ui.y
。因此,每当popupafterposition
fires, ui.positionTo
应该改为null
代替window
.
Edit: The below code should be wrapped in 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 http://jsfiddle.net/Palestinian/2eCAV/
(1) value = number
(2) pageinit
is a special jQM event which is equivalent to .ready()
and should be used instead of it.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)