[英]Disable parent window when child popup window is open
我有一個在子窗口中彈出的aspx頁面。 有沒有一種方法可以使父窗口在彈出子窗口關閉之前不可訪問?
作為記錄,我使用以下jQuery代碼打開和關閉彈出窗口。 在父頁面上:
$(document).ready(function () {
$('#btnLogos').click(function () {
window.open("Logos.aspx", "List", "scrollbars=no, resizable=no, width=500, height=350");
});
});
當從父aspx文件中單擊名為“ btnLogos”的按鈕時,上面的代碼觸發,然后在子彈出窗口中,我使用以下jQuery:
$(document).ready(function () {
$('#btnSubmit').click(function () {
var val = $('input:radio[name=myRadio]:checked').val();
$(window.opener.document).find('#txtLogos').val(val);
window.close();
});
});
從上面的代碼中可以看到,它不僅關閉彈出子窗口,而且還通過單擊按鈕將值傳遞到父窗口中的文本框。 現在我唯一的問題是確保在單擊子窗口中的該按鈕之前,無法訪問父窗口。 我嘗試使用從CSS到Javascript的各種解決方案,但未成功。 我也知道可以使用showModalDialog完成此操作,但是此站點必須在任何瀏覽器上運行,而不僅僅是IE。 關於如何實現這一目標的任何想法?
謝謝。
在彈出窗口中嘗試以下代碼:
$(window).on("blur", function(){ ... });
每次用戶離開窗口時都會觸發。 在參數函數內部,應該可以使窗口重新獲得焦點,也許可以使用$(this).focus()
或self.focus()
。
我自己還沒有測試過。 祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.