创建后从外部函数更改jQuery UI对话框大小

时间:2011-06-29 18:22:36

标签: javascript jquery jquery-ui

我无法弄清楚为什么从jQuery函数外部调用setMainWindowSize以下无效。有人帮忙吗?谢谢。

<script type="text/javascript">
    var mainWindowDiv =  $('<div />', {'id': 'mainWindow', 'title': 'Main Window'});
    $(function (){
            $('body').append(mainWindowDiv);
            mainWindowDiv.dialog({
                position: 'center',
                resizable: true,
            });
            //this would work
            setMainWindowSize(800,600);
    });

    function setMainWindowSize(width, height)
    {
        mainWindowDiv.dialog('option', 'width', width);
        mainWindowDiv.dialog('option', 'height', height);
    };

    //this will fail
    setMainWindowSize(800,600);
</script>

2 个答案:

答案 0 :(得分:1)

我相信$(function (){在开火前等待文件准备就绪。你最后发现的setMainWindowSize(800,600);因为它在就绪功能之外而首先发射。

理想情况下,您可以将所有代码放在$(function(){ });

答案 1 :(得分:0)

在DOM准备好之后应该调用

setMainWindowSize(800,600);。在这里你甚至在div包含一个对话框之前调用它。