jQuery移动弹出窗口没有出现在中心

时间:2012-12-05 17:42:42

标签: jquery-mobile

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

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

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

6 个答案:

答案 0 :(得分:13)

试试这个:data-position-to =“window”。

this is the source

答案 1 :(得分:10)

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

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

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

$(document).on('pageshow', '.selector', function(){
  $('#popupBasic').popup('reposition', 'positionTo: window');
});

答案 2 :(得分:2)

$(document).on("popupafteropen", function() {
    $('#popup').popup('reposition', 'positionTo: window');
});

您可以在打开

后使用自定义弹出事件重新定位它

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

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

您应该提供的一些项目:

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

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

默认:“origin”

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

“origin”当弹出窗口打开时,以传递给open()调用的坐标为中心(参见方法页面)。

“window”当弹出窗口打开时,以窗口为中心。

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

Source

答案 5 :(得分:0)

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

$("#popupBasic").css("width","200px");