我有几个对话框(jquery-ui-ified),它们看起来像这样:
$('#options_dlg').dialog({
modal:true,
stack:true,
autoOpen:false,
resizable:false,
title:'Options',
height:620,
width:520,
zIndex:20000
});
我遇到的问题是,当我打开一个对话框,然后打开另一个对话框,或关闭另一个对话框时,它会重新定位第一个对话框 - 有时会移动它以便我无法再访问标题栏移动它。
当然,剧本中有很多事情可能是罪魁祸首 - 虽然对我来说没有什么是显而易见的 - 这意味着,我没有通过打开或关闭对话框指定的代码,而不是重新定位任何对话框其他对话。
所以我的问题是,有没有人以任何身份经历过这一点,和/或是否有人对可能导致这种情况发生的原因有任何见解 - 我可以用来开始追踪罪魁祸首的任何事情都会有所帮助
谢谢 -
答案 0 :(得分:2)
我确实遇到过类似的问题,仅在 IE 中使用jquery-ui 1.8.16。它看起来像known issue,我使用了以下方法
$dialog.parent().css({position:"fixed"}).end().dialog('open');
来自this solution并解决了它。你也可以尝试一下。
答案 1 :(得分:0)
尝试在打开对话框时设置对话框的位置。
$('#options_dlg').dialog({
modal:true,
stack:true,
autoOpen:false,
resizable:false,
title:'Options',
position: [x,y],
height:620,
width:520,
zIndex:20000
});
在设置对话框之前,根据您希望对话框出现的位置,将x和y初始化为偏移。
例如:
x = $(cell).offset().left + $(cell).outerWidth();
y = $(cell).offset().top - $(document).scrollTop();
您必须弄清楚如何确定应用程序的x和y偏移量,但这应该修复对话框位置,以便在使用其他对话框时它不会随机移动。