項目中用到easyui 布局,用到north,west,center三個區域,且在center中間區域嵌入iframe標簽。在主內容區做一些小提示彈窗(例如刪除前的彈窗提示確認)時,會遇到遮罩問題,由於center區域是iframe嵌套的,所以里面的小彈窗無法覆蓋頁面的頭部和左邊目錄欄。
情形一、點擊提示彈窗里的確認后,提示彈窗消失:
//warnTips為傳入的值,例如successMask(“確定要刪除選中的數據嗎?”)
function successMask(warnTips){ parent.$.messager.alert({ title:'', msg:warnTips, draggable:false, fn:function(){
} }); }
情形二、點擊提示彈窗里的確認后,提示彈窗消失,並且頁面跳轉:
//使用方法,successMask('刪除成功!','system/js/rolepermissions.jsp')
function successMask(warnTips,url){ parent.$.messager.alert({ title:'', msg:warnTips, draggable:false, fn:function(){ //點擊確認后,頁面跳轉 window.location.href = url; } }); }
使用以上代碼可以完美解決easyUI center區域iframe里的alert提示彈窗、confirm彈窗的遮罩問題。
這里再做一個拓展,如果是confirm確認彈窗,改如何處理遮罩問題?
例如刪除前提示確認,點擊確認后,內容被刪除,再彈出刪除成功提示框:
用如下代碼,就可以解決問題
parent.$.messager.confirm({ title:'', msg:'確定要刪除選中的數據嗎?', draggable:false, fn:function(boolean){ if(boolean){//確定刪除操作 var id = $(obj).attr ("id"); $.ajaxSettings.async = false; $.get("roleAction!deleteRole.html",{q:new Date().getTime(),id:id},function(data){ if(data=='success'){ successMask('刪除成功!','system/js/rolepermissions.jsp') }else{ infoMask(data);
}
}
}
}