我正在使用jQuery Mobile库(版本1.3.1)的Popup小部件。我正在尝试处理beforeposition
事件中的一些代码。 documentation说:
处理此事件可以在弹出窗口显示之前修改弹出窗口的内容。例如,如果内容太宽或太高,则可以缩放内容,或者可以隐藏或删除部分内容。 您还可以修改options参数以影响弹出窗口的展示位置。可用于修改的选项对象内的属性与重新定位方法使用的属性相同。
我需要设置x
和y
参数,但我无法弄清楚如何修改事件的options参数。一个代码示例将是非常棒的。谢谢你的时间。
答案 0 :(得分:4)
beforeposition
个事件省略了一个包含弹出窗口位置(选项),x
,y
和positionTo
值的对象。
要在beforeposition
触发后修改这些选项,请使用以下内容。
$( ".selector" ).on( "popupbeforeposition" , function (e, ui) {
ui.x = value;
ui.y = value;
/* OR
ui.positionTo = "window"
*/
});
如果您希望以编程方式打开弹出窗口,请使用以下内容。
$( ".selector" ).popup( "open", {
x: value,
y: value
});
value =以像素为单位的数字
<强> Demo 强>
答案 1 :(得分:1)
以下是jsFiddle演示: http://jsfiddle.net/ezanker/3pW3P/
我使用popupafteropen事件代替并使用了重新定位方法:
$("#page1").on("pageinit", function () {
$("#popupPadded").on({
popupafteropen: function () {
$(this).popup("reposition", {
x: 70,
y: 115,
positionTo: "window"
});
}
});
});