1

我正在使用 JQuery UI 对话框。在这种形式中,我验证了一些东西。我调用了这个函数;

MessageBox('this is message', 'Error', OpenDialog());

在 Chrome、Firefox、IE8、IE9 中;它工作正常,但在 IE7 中,只有对话框的标题显示如下。当我单击“Okey”按钮时,它只显示标题 在此处输入图像描述 如何解决这个问题?

消息框功能

function MessageBox(text, title,Func) {

var dv = document.createElement('div');

$(function () {

    dv.id = 'Dialog';
    dv.innerHTML = '<table style="font-family:Calibri;"><tr><td>' + text + '</td></tr></table>';       
    document.forms[0].appendChild(dv);
    var dlg = $('#Dialog').dialog({
        autoOpen: false,
        width: 400,
        title: title,
        modal: true,
        resizable: false,

        buttons: [
        {
            text: "Okey",
            width: 80,
            click: function () {
                DialogClose_('Dialog');

            }
        }],
        open: function () {
            $('.ui-dialog-buttonpane').find('button:contains("Okey")').addClass('ButtonDefault');
        },

        close: Func,
        beforeClose: function () {
            var dv2 = document.getElementById("Dialog");
            dv2.parentNode.removeChild(dv2);
        }
    });
    dlg.parent().appendTo(jQuery('form:first'));
    $('#Dialog').dialog("option", "minWidth", 400);
    $('#Dialog').dialog('option', 'position', 'center');
    $('#Dialog').dialog('open');
});
return;

}

像这样的 OpenDialog 函数;

 function OpenDialog() {
        $(document).ready(function () {
            $("#dialog").dialog("open");
        });
    }
4

1 回答 1

1

环顾四周,IE7 中对话框的高度似乎存在不少问题。

你可以尝试指定一个高度,但这会带走你得到的很好的自动高度功能。

或者,您可以在将“dlg”变量设置为 IE7 之后设置浏览器的高度:

if ($.browser.msie && parseInt($.browser.version, 10) == 7) {
    $('#Dialog').dialog("option", "height", 100);
}

您可以用您的想法替换“100”。如果您的对话框中有一个容器元素,您可以随时使用它来设置高度,例如:

$("#container").height();

StackOverflow上也有更多建议。

希望有帮助。

于 2012-04-16T12:08:51.143 回答