問題描述
在使用lhgdialog的時候,可能需要在彈窗中觸發點擊事件再顯示一個彈窗,如果兩個彈窗都有遮罩層,關閉第二個彈窗,第一個彈窗的遮罩層也會被關閉。
解決辦法
1、在再次調用彈窗時添加parent屬性
- 在再次調用彈窗時添加parent屬性
- 當添加parent屬性無效時,需要在定義close函數時,設置一個定時器(儘快執行),手動調用lock()函數
$.dialog({
title:'第二個彈窗',
lock:true,
parent:this,
close:function(){
setTimeout(function(){
var windowapi = frameElement == null ? window.top : frameElement.api;
windowapi.lock();
},100);
}
});
[window.frameElement]: 返回嵌入當前window對象的元素(比如 或者 ),如果當前window對象已經是頂層窗口,則返回null.
[window.frames]:返回當前窗口,一個類數組對象,列出了當前窗口的所有直接子窗口。
<body>
<iframe name="iframeName"></iframe>
<script>
window.frames[iframeName]可以獲取到iframe
</script>
</body>