我的jquery对话框关闭时出现以下错误。 jquery 1.9.1 的jquery-UI-1.10.3
错误:在初始化之前无法调用对话框上的方法;试图调用方法'关闭'
//检查列表中是否有给定的回调。
var popupDialog = $("<div id='popupDialogBox'></div>");
function Popup(url, width, height) {
if (width == undefined)
width = 400;
if (height == undefined)
height = 300;
//var buttonArray = {};
//buttonArray["Close"] = function () {
// $(popupDialog).dialog("close");
//};
popupDialog.dialog({
closeOnEscape: false,
modal: true,
autoOpen: false,
resizable: false,
buttons: [{
text: "Cancel",
click: function () {
$(popupDialog).dialog("close");
}
}]
//buttons: buttonArray,
//buttons: {
// "OK": function () {
// //debugger;
// //alert('test');
// //$(popupDialog).parent().remove();
// $(this).dialog("close");
// return false;
// }
//}
//buttons: [{
// text: "close",
// "class": "button",
// close: function () {
// $(popupDialog).dialog('close');
// //alert('test');
// }
//}]
});
popupDialog.load(url + '?popup=1');
popupDialog.dialog("option", "width", width);
popupDialog.dialog("option", "height", height);
popupDialog.dialog('open');
return false;
}
如果我在$(popupDialog).dialog('close')之前发出警报,那么警报会起作用,但对话框仍然会出现同样的错误
不确定我在这里做错了什么,但似乎没什么用。
有什么想法吗?
答案 0 :(得分:1)
您必须先将div添加到DOM中。
更改
var popupDialog = $("<div id='popupDialogBox'></div>");"
是这样的:
$("html").append("<div id='popupDialogBox' />");
var popupDialog = $("#popupDialogBox");
然后继续使用您的代码。