Jquery mobile 修改";选项“;PopupBeforLocation事件的参数

Jquery mobile 修改";选项“;PopupBeforLocation事件的参数,jquery-mobile,popup,Jquery Mobile,Popup,我正在使用jQuery移动库(版本1.3.1)的弹出窗口小部件。我正在尝试处理beforeposition事件中的一些代码。报告说: 处理此事件可以在弹出窗口出现在屏幕上之前修改其内容。例如,如果内容太宽或太高,可以缩放内容或隐藏或删除部分内容您还可以修改选项参数以影响弹出窗口的位置。可修改的选项对象内的特性与重定位方法使用的特性相同 我需要设置x和y参数,但我无法确定如何修改事件的选项参数。一个代码示例将非常棒。谢谢您的时间。这里是一个JSFIDLE演示: 我使用了popupafteropen

我正在使用jQuery移动库(版本1.3.1)的弹出窗口小部件。我正在尝试处理
beforeposition
事件中的一些代码。报告说:

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


我需要设置
x
y
参数,但我无法确定如何修改事件的选项参数。一个代码示例将非常棒。谢谢您的时间。

这里是一个JSFIDLE演示:

我使用了popupafteropen事件,并使用了重新定位方法:

$("#page1").on("pageinit", function () {
    $("#popupPadded").on({
        popupafteropen: function () {
            $(this).popup("reposition", {
                x: 70,
                y: 115,
                positionTo: "window"
            });
        }
    });
});

beforeposition
事件忽略包含弹出窗口位置(选项)、
x
y
positionTo
值的对象

要在定位触发器之前修改这些选项一次,请使用以下命令

$( ".selector" ).on( "popupbeforeposition" , function (e, ui) {
    ui.x = value;
    ui.y = value;
    /* OR
    ui.positionTo = "window"
    */
});
$( ".selector" ).popup( "open", {
  x: value,
  y: value
});
如果希望以编程方式打开弹出窗口,请使用以下命令

$( ".selector" ).on( "popupbeforeposition" , function (e, ui) {
    ui.x = value;
    ui.y = value;
    /* OR
    ui.positionTo = "window"
    */
});
$( ".selector" ).popup( "open", {
  x: value,
  y: value
});
值=以像素为单位的数字


谢谢你,奥马尔。这就是我要找的。这只是给遇到这个问题的人的提示。要解决这个问题,必须使用jQuery mobile的1.3.2版。版本1.3.1有一个错误,使此解决方案无法工作。@dexter不客气,谢谢您的提示。我会在我的回答中加上你的评论。