我在jquery 1.5上有一个对话框很好的应用程序。
虽然我有很多.live处理程序,但我将其更改为.on。
为此,我必须更新jquery(现在是jquerui 1.9.1的1.8.3)。

现在,我得到了:Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
以下是代码:

Java脚本

var opt = {
        autoOpen: false,
        modal: true,
        width: 550,
        height:650,
        title: 'Details'
};

$(document).ready(function() {
$("#divDialog").dialog(opt);
    $("#divDialog").dialog("open");
...

HTML代码
<div id="divDialog">
<div id="divInDialog"></div>
</div>

知道为什么会这样吗?

最佳答案

试试这个

$(document).ready(function() {
  $("#divDialog").dialog(opt).dialog("open");
});

您也可以这样做:
var theDialog = $("#divDialog").dialog(opt);
theDialog.dialog("open");

那是因为对话框不是存储在$('#divDialog')中,而是存储在一个新的div中,该div是动态创建并由.dialog(opt)函数返回的。

10-08 01:59