10

我正在使用 jQuery mobile 并尝试在页面加载时显示 jQuery pop。但是当页面加载时,弹出窗口没有出现在中心,而是弹出窗口的左上角出现在中心。

但是,一旦浏览器窗口大小发生变化,弹出窗口就会自动切换到中心(即使我按 F12 使用开发人员工具)。然后所有频繁调用 $('#popupBasic').popup("open"); 让它出现在屏幕中央。

但第一次出现在中心的弹出框的左上角。

4

6 回答 6

13

试试这个:data-position-to="window"。

这是来源

于 2013-06-14T11:59:44.580 回答
11

您可以尝试在 pageshow 上重新定位弹出窗口:

$( '#popupLogin' ).popup( 'reposition', 'positionTo: window' );

我认为您遇到的情况取决于浏览器完全绘制页面之前发生的定位。您可以通过像这样重新定位弹出窗口来克服这个问题:

$(document).on('pageshow', '.selector', function(){
  $('#popupBasic').popup('reposition', 'positionTo: window');
});
于 2013-05-05T09:42:52.410 回答
3
$(document).on("popupafteropen", function() {
    $('#popup').popup('reposition', 'positionTo: window');
});

您可以在打开后使用自定义弹出事件重新定位它

于 2014-06-18T07:09:26.700 回答
1

我遇到了同样的错误。您只想在绘制页面后显示弹出窗口。

添加您的代码来监听 pageshow 事件而不是 pageinit 事件可能会解决您的问题。它为我修好了。

于 2013-03-12T05:09:17.763 回答
0

这是一个非常模糊的问题。

您应该提供的一些项目:

  • 您正在测试什么浏览器以及什么版本?
  • 什么版本的JQM?
  • 是否有任何自定义 CSS 与 JQM 交互?

从 JQM 1.2 开始,可用的弹出选项:

默认值:“原点”

设置相对于弹出窗口居中的元素。它具有以下值:

“原点” 当弹出窗口打开时,将坐标集中在传递给 open() 调用的坐标上(参见方法页面)。

“窗口” 当弹出窗口打开时,位于窗口的中心。

jQuery 选择器 当弹出窗口打开时,基于选择器创建一个 jQuery 对象,并将其居中。选择器被过滤为使用 ":visible" 可见的元素。如果结果为空,则弹出窗口将在窗口中居中。

资源

于 2012-12-05T19:40:08.683 回答
0

当我div手动设置弹出窗口的宽度时,它对我有用;尝试:

$("#popupBasic").css("width","200px");
于 2020-02-26T15:27:37.930 回答