0

出于某种原因,一切都运行良好。然后突然开始显示这个错误: Uncaught cannot call methods on dialog before initialization; 试图调用方法 'close' 。这是我的代码:

function loginshow() {
    hidepost();
    must_login();
    //$("#login_button").delay(200).show("fade",500);
    //$("#logmein").unbind("click");
    //$("#logmein").bind("click",loginhide);

}

function loginhide() {
    console.log("hi");
    $("#login_button").hide("fade", 100);
    $("#login_box").show(001);
    $("#reg_button").hide(001);
    $("#login_button").css("height", "75px");
    $("#logmein").unbind("click");
    $("#logmein").bind("click", loginshow);
    $("#dialog-message").dialog("close");
}

function must_login() {

    $("#dialog-message").dialog({
        width: '400',
        draggable: false,
        resizable: false

    });
}

function hide_must_login() {
    $("#dialog-message").dialog('close');
}

如果有帮助,我正在使用 jquery 1.6.0 和 jquery ui 1.9.0。我无法更新到 1.7.0 以上的任何内容,因为我需要该.live()功能。

你可以在这里看到它。

单击顶部的签入并尝试关闭该对话框。

请帮忙

4

1 回答 1

0

您在多个关闭按钮上绑定单击事件,因为您有许多具有类的关闭按钮closedialog-close具有类的对话框也是如此。

为每个对话框及其关闭按钮提供一个特定的 ID。

然后使用此代码...

$("#checkInDialogCloseButton").live("click",function(){ $("#checkInDialog").dialog("close");});
于 2013-07-27T17:35:18.423 回答