修改popupbeforeposition事件的“options”参数

时间:2013-10-28 09:11:49

标签: jquery-mobile popup

我正在使用jQuery Mobile库(版本1.3.1)的Popup小部件。我正在尝试处理beforeposition事件中的一些代码。 documentation说:

  

处理此事件可以在弹出窗口显示之前修改弹出窗口的内容。例如,如果内容太宽或太高,则可以缩放内容,或者可以隐藏或删除部分内容。 您还可以修改options参数以影响弹出窗口的展示位置。可用于修改的选项对象内的属性与重新定位方法使用的属性相同。

我需要设置xy参数,但我无法弄清楚如何修改事件的options参数。一个代码示例将是非常棒的。谢谢你的时间。

2 个答案:

答案 0 :(得分:4)

beforeposition个事件省略了一个包含弹出窗口位置(选项),xypositionTo值的对象。

要在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"
            });
        }
    });
});