我在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)
函数返回的。