jqueryUI上的open事件间歇性地工作

时间:2012-11-13 19:26:39

标签: jquery jquery-ui jquery-dialog

我有一个jqueryUI对话框,它向另一个页面发出请求并在对话框中加载内容。

jQuery("#someDialog").dialog({
    autoOpen: true,
    draggable: false,
    resizable: false,
    modal: true,
    open: function() {
        jQuery(this).load('myurl?type=something');
    }
});​

但是,此代码有时只打开对话框,并且对话框中不显示加载的内容。我怀疑这是因为open事件中的异步代码。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我通常将内容加载到变量div中,然后在打开时将其作为对话框的文本放置。

$('#popupWindow').load('whatever?type=something', function () {

    // using the callback function on .load() we can ensure
    // the content is always loaded before opening the dialog also 

    var _dialogBox = $('<div id="dialogBox" />');

    // put the html inside of the dialog
    _dialogBox.html( $('#popupWindow').html() );


    _dialogBox.dialog({
        autoOpen: true,
        draggable: false,
        resizable: false,
        modal: true
    });​

    _dialogBox.dialog('open');
});