我以前使用过以下脚本,效果很好。我现在收到以下错误:
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>
答案 0 :(得分:0)
我有一个类似的问题,我通过在对话框声明之外定义我的按钮数组来解决。
var buttonArray = {};
buttonArray["Ok"]=function() { $( this ).dialog( "close" );}
您的选择将成为:
modal: true, autoOpen: false, buttons: buttonArray