.load不适用于IE和Opera

时间:2012-06-26 23:37:16

标签: jquery jquery-dialog

我有这段代码:

function openFile(_title, file, id, _height, _width)
{
    $.fx.speeds._default = 500;
    $(document).ready(function()
    {
        if (_height == '')
            _height = 250;

        if (_width == '')
            _width = 500;

        var dialogOpts = {
            title: _title,
            modal: true,
            height: _height,
            width: _width,
            draggable: false,
            resizable: false,
            show: "puff",
            hide: "puff"
        };

        $("#dialog").dialog(dialogOpts);

        $("#dialog").load(file, [], function(){ $("#dialog").dialog("open"); });
    });
}

它在Firefox和Chrome中运行良好,但在Opera和IE中都没有。弹出对话框,但没有内容。它只显示标题。

我尝试将最后一行更改为

$.get(file, function(result) {
    $('#dialog').append(result);
});

$("#dialog").load(file);

但这也不起作用。

2 个答案:

答案 0 :(得分:0)

尝试将$("#dialog").load(file, [], function(){ $("#dialog").dialog("open"); });更改为:

$("#dialog").load(file, [], function(response, status, xhr){
    if(status!="error")
        $("#dialog").dialog(); 
});
对话框的

The default behavior将打开。

答案 1 :(得分:0)

之前我遇到过.load()这个问题,现在我改用.get()

快速举例:

 $.get(url,function(data){  $("#dialog").html(data);  });