Ste*_*all 0 javascript jquery jquery-ui internet-explorer-6
我在使用IE6和jQuery UI时遇到了一些麻烦.我有一个弹出对话框(模态,如果重要),它向用户显示一个"是/否"对话框,其中包含一些信息.为了方便这一点,我使用autoOpen = false构建对话框,然后根据需要调用$('#popup').show()以响应各种不同的事件.现在,在IE6中(并且只有IE6,据我所知),.dialog方法偶尔会失败,但STILL会返回jQuery对象.因此,.show()方法只显示html页面中的div容器,而不是显示弹出窗口.
可能导致这种情况的原因,以及我如何解决这个问题?
谢谢.
$('#myDialog').dialog({
autoOpen: false,
buttons: {
"No": function()
{
$(this).dialog('close');
//do stuff
},
"Yes": function()
{
$(this).dialog('close');
//do stuff
}
},
draggable: false,
modal: true,
resizable: false,
title: "Confirmation",
width: "500px",
zIndex: 2000
});
Run Code Online (Sandbox Code Playgroud)
然后
$('#myDialog').dialog('open').show();
Run Code Online (Sandbox Code Playgroud)
很标准.
新的消息
我正在加载一个页面,该对话框使用另一个对话框中的ajax进行对话,可以重复创建和销毁该对话框.现在,每次我的页面加载ajax时,.dialog(opts)应该重新实例化对话框div,对吗?我发现这就是场景.
1.)外部对话框使用ajax将其内容替换为我的内容.
2.)我的内容启动一个先前创建并设置为不自动打开的对话框.
3.)当内部对话框关闭时,外部对话框将被销毁.
4.)重新打开外部对话框.内部对话框不再能够在ie6中显示为对话框.这只发生在ie6.
您应该使用打开对话框
$('#myDialog').dialog('open');
Run Code Online (Sandbox Code Playgroud)
代替
$('#myDialog').show();
Run Code Online (Sandbox Code Playgroud)
第一种方法显示实际对话框,而您正在使用的对话框只会#myDialog显示项目(没有UI对话魔术).show()method是核心jQuery库的一部分,不能用于调用对话框.
| 归档时间: |
|
| 查看次数: |
6672 次 |
| 最近记录: |