Jquery mobile jQuery移动弹出窗口未出现在中心

Jquery mobile jQuery移动弹出窗口未出现在中心,jquery-mobile,Jquery Mobile,我正在使用jquerymobile,并试图在页面加载时显示jquerypop。但当页面加载时,弹出窗口不显示在中间,而是显示在中间的左上角 但一旦浏览器窗口大小改变,弹出窗口就会自动移到中间位置(即使我按F12键开发人员工具)。然后所有频繁调用$('popubasic').popup(“open”);使其显示在屏幕中央 但第一次弹出框的左上角出现在中间。这是一个非常模糊的问题 您应该提供以下几项: 您测试的浏览器是什么,版本是什么 JQM的哪个版本 是否有任何自定义CSS与JQM交互 从JQ

我正在使用jquerymobile,并试图在页面加载时显示jquerypop。但当页面加载时,弹出窗口不显示在中间,而是显示在中间的左上角

但一旦浏览器窗口大小改变,弹出窗口就会自动移到中间位置(即使我按F12键开发人员工具)。然后所有频繁调用$('popubasic').popup(“open”);使其显示在屏幕中央


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

这是一个非常模糊的问题

您应该提供以下几项:

  • 您测试的浏览器是什么,版本是什么
  • JQM的哪个版本
  • 是否有任何自定义CSS与JQM交互
从JQM 1.2开始,弹出选项可用:

默认值:“原点”

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

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

“窗口”弹出窗口打开时,在窗口中居中

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


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


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

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

$( '#popupLogin' ).popup( 'reposition', 'positionTo: window' );
我认为你所经历的是在浏览器完全绘制页面之前发生的定位。您可以通过如下方式重新定位弹出窗口来克服此问题:

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

尝试以下操作:将数据位置设置为=“窗口”


当我手动设置弹出窗口的宽度时,您可以使用自定义弹出事件在打开后重新定位它;尝试:

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

它几乎出现在我尝试过的每一个地方,Chrome版本24.0.1312.32 beta-m Firefox 16.0.1 HTC Wildfire 2.2.1 JQM jquery.mobile-1.2.0.min.js没有使用JQM定制CSS我尝试过所有弹出选项,但仍然没有成功。要进行复制,您可以尝试使用此
一些长内容
,然后使用
$(document.bind('pageinit',function({$('popubasic')).popup('open');})
我遇到了与此类似的问题。有时它会像您上面所述的那样出现,但大多数情况下,弹出窗口甚至不可见(尽管它在那里——正如我通过检查DOM所看到的)。不确定解决方案是什么。与1.3.0也有完全相同的问题。最新版本的chrome。您找到解决方案了吗?我使用一个弹出div,用于根据用户选择显示不同的图像。这些图像大小不同,在加载之前不知道。调用此:
$(“#popupLogin”)。弹出(“重新定位”、“定位到:窗口”);
成功将图像加载到弹出窗口后,弹出窗口将居中。这对我来说不合适
$("#popupBasic").css("width","200px");