0

我以前使用过以下脚本,并且效果很好。我现在收到以下错误:

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>
4

1 回答 1

0

我有一个类似的问题,我通过在对话框声明之外定义我的按钮数组来解决。

var buttonArray = {};
buttonArray["Ok"]=function() { $( this ).dialog( "close" );}

您的选择将变为:

     模态:真,
     自动打开:假,
     按钮:按钮数组
于 2013-11-05T20:03:48.403 回答