簡體   English   中英

打開子彈出窗口時禁用父窗口

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM