jquery-ui-dialog - 在父窗口中显示 jquery 对话框

标签 jquery-ui-dialog

我有一个使用 iframe 的网站。 iframe 本身就是网站的内容。现在在 iframe 中,我想使用 jQuery 对话框。但是,在使用它时,叠加层和对话框仅显示在 iframe 内,而不显示在父级上。我的父 html 为对话框定义了以下 html:

<div id="modalHolder"></div>

在我的 iframe 中,我使用以下 javascript 创建对话框并显示它。
dlg1 = $(window.parent.document.getElementById("modalHolder"));
dlg1 = dlg1.dialog({
    width: 300,
    height: 150,
    modal: true,
    autoOpen: false,
    resizable: false,
    closeOnEscape: false,
    draggable: false,
    overlay: 
    {
        backgroundColor: 'red',
        opacity: 0.65
    },
    open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});

为了显示对话框,我使用了这个:
dlg1.dialog('open');

最佳答案

有一个简单而优雅的解决方案:

  • 将 jquery 和 jqueryui 包含到您的父窗口中
  • 在此之后,您可以访问 iframe 中的父 JQuery 对象

  • 例如:
    var $jParent = window.parent.jQuery.noConflict();
    var dlg1 = $jParent('#modalHolder');
    dlg1.dialog();
    

    关于jquery-ui-dialog - 在父窗口中显示 jquery 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1958946/

    相关文章:

    javascript - jquery根据id打开对话框

    c# - MVC 5 - jQueryUI 对话框 View 不显示

    javascript - 在 Jquery UI 对话框中禁用关闭按钮

    jquery - 如何使用 JQuery 打开弹出窗口?

    javascript - 在点击事件的正下方放置 jquery 对话框

    jquery - 打开 jQuery UI 对话框时页面向上滚动

    jquery - 无法设置 jqueryUI 对话框关闭按钮的事件状态的样式

    jquery-ui - 模态 ui 对话框内的 jquery UI 自动完成 - 建议未显示?

    javascript - jQuery UI 对话框打开完成后删除过滤器属性

    jQuery 用户界面 : Setting draggable options for the dialog