为什么jQuery UI对话框在IE8中打开2个模态?

时间:2012-06-07 20:05:33

标签: jquery-ui internet-explorer-8 jquery-ui-dialog

每当点击一个特定按钮时,我都会运行jQuery.post():

function createNewImage () {
    jQuery.post("create/new/image.php", {some:params}, function (data) {
        loadImageSelector(data);
    }, "json");
}

create/new/image.php成功运行并且服务器已准备好接受并将图像附加到新创建的数据库行时,我们打开此jQuery UI对话框模式:

function loadImageSelector(data) {
    jQuery('<iframe src="script.php?id=' + data.param + '" /></iframe>').dialog({
        modal: true,
        width: 500,
        height: 400,
        resizable: false,
        title: "Upload an Image"
    });
}

问题是在IE8上我看到弹出2个对话框。 1包含script.php的完整内容并且看起来正确,但除此之外是另一个只有标题(“上传图片”)和关闭按钮的对话框 - 没有内容(iframe)。 IE9 / Chrome / Firefox中不会出现此问题。

1 个答案:

答案 0 :(得分:0)

这很有趣。上面的代码是关闭2个iframe,IE8以某种方式反应并创建2个模态。

第一个标记通过/>自行关闭,但随后包含另一个</iframe>标记。这是偶然的,但我觉得有趣的是它会像这样回应。

无论如何,确保标记存在(<iframe ...></iframe>)以解决问题。