1.弹出多个窗口时,让最后弹出的窗口始终保持在最上层。
解决方式一:添加parent属性。
$.dialog({
title : "标题",
id :"detailDialog",
parent : this,
width : 300,
height : 400,
lock : true,
zIndex:zIndex,
content : 'url:' + "${contextPath}/sys/car/enterWriteCarMsg",
});
在parent属性无效的情况下,采用第二种方式。
解决方式二:每次打开dialog都重新计算zIndex。
var windowapi = frameElement == null ? window.top:frameElement.api,
var W = windowapi == null ? window.top : windowapi.opener;//内容页中调用窗口实例对象接口
var zIndex = W == null?1976 : W.$.dialog.setting.zIndex+1;
$.dialog({
title : "标题",
id :"detailDialog",
width : 300,
height : 400,
lock : true,
zIndex:zIndex,
content : 'url:' + "${contextPath}/sys/car/enterWriteCarMsg",
});
2.打开多个弹窗,在关闭上层弹窗时,下层弹窗的遮罩消失。
如:先打开A弹窗,在A弹窗再打开B弹窗,当B弹窗关闭时,A弹窗的遮罩层消失
解决方法:一般情况下,在打开B弹窗的dialog里面添加parent属性即可。
但在某些情况下不行,需要在打开B弹窗的close回调方法里面添加如下代码:
$.dialog({
id:'test',
title:'B弹窗',
content:"url:${ctx}/people/peopleDetail",
lock:true,
width:'400px',
height:'300px',
close:function(){
setTimeout(function(){
var windowapi = frameElememt == null ? window.top : frameElement.api;
windowapi.lock();
},100);
}
});