我正在使用jquery ui对话框进行模态弹出对话框。它在Firefox / Chrome中运行良好但在ie6中很糟糕。
问题: 当我在ie6中显示对话框时,浏览器窗口会增长并自动向下滚动到底部。高度增加和自动向下滚动等于jquery对话框的高度。
我可以向上滚动然后正常使用对话框,但是窗口和窗口的增长行为令人抓狂。
以下是我启动窗口的方法:
<div id="dialogWindow"></div>
...
$(document).ready(function() {
var $dialog = $("#dialogWindow").dialog({
autoOpen: false,
modal: true,
minWidth: 560,
width: 560,
resizable: "true",
position: "top"
});
$('.addButton').click(function(e) {
e.preventDefault();
$('#dialogWindow').load('http://myurl');
$dialog.dialog('open');
});
});
我已经在使用jquery的bgiframe插件,这是ie6覆盖问题的关键。但这似乎与此无关。有没有人见过这个,找到了解决方法?
答案 0 :(得分:2)
我以前见过这种行为,通常是由叠加引起的。当您使用{modal:true}选项时,如果加载了插件,则会创建覆盖并使用bgiframe支持进行渲染。
首先,尝试转动{modal:false},看看你是否没有得到页面爆炸,然后我们知道它是叠加层。
有一些事情要检查是否是罪魁祸首;
答案 1 :(得分:0)
我有一个类似的问题。
$('.addButton').click(function(e) {
e.preventDefault();
$('#dialogWindow').load('http://myurl');
var y = window.pageYOffset;
var x = window.pageXOffset
$dialog.dialog('open');
window.scrollTo(x, y); // horizontal and vertical scroll targets
});
上面应该做的是获取当前的滚动坐标并保存它们。对话框打开后,然后滚动回内存中的先前位置。应该是即时的,用户看不见。