關於lhgdialog中多個彈窗遮罩層關閉問題記錄

關於lhgdialog中多個彈窗遮罩層關閉問題記錄

問題描述

在使用lhgdialog的時候,可能需要在彈窗中觸發點擊事件再顯示一個彈窗,如果兩個彈窗都有遮罩層,關閉第二個彈窗,第一個彈窗的遮罩層也會被關閉。

解決辦法

1、在再次調用彈窗時添加parent屬性

  1. 在再次調用彈窗時添加parent屬性
  2. 當添加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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章