简单的jQueryUI对话框导致1.9错误

简单的jQueryUI对话框导致1.9错误,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,我以前使用过下面的脚本,它工作得非常好。我现在得到以下错误: Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'. jquery-latest.js (line 507) 如果升级到jQueryUI 1.10.1,则不会再导致错误。通常,我会让它去,升级,而不是担心它。这一个的问题是,它在过去有效,所以为什么现在不让我发疯呢?我一定在做一些和以前不一样的傻事

我以前使用过下面的脚本,它工作得非常好。我现在得到以下错误:

Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'.
jquery-latest.js (line 507)
如果升级到jQueryUI 1.10.1,则不会再导致错误。通常,我会让它去,升级,而不是担心它。这一个的问题是,它在过去有效,所以为什么现在不让我发疯呢?我一定在做一些和以前不一样的傻事,但我看不出来

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>jQuery UI Dialog</title>
        <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
        <link type="text/css" href="http://code.jquery.com/ui/1.9.0/themes/base/jquery-ui.css" rel="stylesheet" />
        <script src="http://code.jquery.com/ui/1.9.0/jquery-ui.js" type="text/javascript"></script> 
        <script>
            $(function() {
                $("#open").click(function(){$("#dialog").dialog('open');return false;});
                $( "#dialog" ).dialog({
                    modal: true,
                    autoOpen    : false,
                    buttons: {
                        Ok: function() {
                            $( this ).dialog( "close" );
                        }
                    }
                });
            });
        </script>
    </head>
    <body>
        <button id="open">Click</button>
        <div id="dialog" title="What ever"></div>
    </body>
</html>

jQueryUI对话框
$(函数(){
$(“#打开”)。单击(函数(){$(“#对话框”)。对话框('open');返回false;});
$(“#对话框”)。对话框({
莫代尔:是的,
自动打开:错误,
按钮:{
好的:函数(){
$(此).dialog(“关闭”);
}
}
});
});
点击

我遇到了一个类似的问题,我通过在对话框声明之外定义按钮数组解决了这个问题

var buttonArray = {};
buttonArray["Ok"]=function() { $( this ).dialog( "close" );}
你的选择将是:

modal: true, autoOpen: false, buttons: buttonArray 莫代尔:是的, 自动打开:错误, 按钮:buttonArray
如果在较新的版本中工作没有问题,那么它一定是您使用的版本的错误。我知道这会让你发疯,但这是网络开发者的生活。东西是不断变化的,有时甚至是一小时一小时!事实证明,使用jQuery 1.8.1,而不是使用最新版本的jQuery,它对我来说非常有效!那没关系。bug总是被引入,然后在以后的版本中再次修复,但是您的问题提到它在jQuery1.10.1中工作正常,所以我认为它通过bug修复得到了解决。1.9中有很多已知的问题,这就是为什么1.9.1在发布后不久就发布了。至少我不再疯狂了!我现在知道它以前在相同的情况下不工作,然后神秘地停止工作。您是否尝试过使用他们在升级到1.9时建议使用的jQuery迁移插件?