2

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

处理此事件可以在弹出窗口出现在屏幕上之前对其内容进行修改。例如,如果内容太宽或太高,可以缩放内容或隐藏或删除部分内容。您还可以修改 options 参数以影响弹出窗口的位置。选项对象内可修改的属性与 reposition 方法使用的属性相同。

我需要设置xy参数,但我不知道如何修改事件的选项参数。一个代码示例会很棒。谢谢你的时间。

4

2 回答 2

4

beforepositionevents 省略了包含弹出窗口位置(选项)、 和 的值xy对象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
});

值 = 像素数

演示

于 2013-10-28T15:10:38.667 回答
1

Here is a jsFiddle Demo: http://jsfiddle.net/ezanker/3pW3P/

I used the popupafteropen event instead and used the reposition method:

$("#page1").on("pageinit", function () {
    $("#popupPadded").on({
        popupafteropen: function () {
            $(this).popup("reposition", {
                x: 70,
                y: 115,
                positionTo: "window"
            });
        }
    });
});
于 2013-10-28T14:13:16.600 回答