【问题标题】:Uncaught cannot call methods on dialog prior to initialization; attempted to call method 'close'Uncaught 不能在初始化之前调用对话框上的方法;试图调用方法“关闭”
【发布时间】:2013-07-27 00:33:26
【问题描述】:

出于某种原因,一切都运行良好。然后突然开始显示这个错误: 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() 函数。

你可以看到它直播here

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

请帮忙

【问题讨论】:

  • 为什么你需要.live()函数?
  • 我只是该网站的开发人员之一。不要问我为什么其他人那么想要它。

标签: jquery jquery-ui dialog


【解决方案1】:

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

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

然后使用此代码...

$("#checkInDialogCloseButton").live("click",function(){ $("#checkInDialog").dialog("close");});

【讨论】:

  • 感谢您的回复,但很遗憾,这无济于事
  • 哦……我明白了……你没有使用对话框的默认关闭按钮……但是已经制作了自己的自定义关闭按钮……除此之外,你还有很多 @987654324 @上课dialog-close。此外,您还有许多 close 按钮具有 close 类...请参阅我的更新答案..
  • 这仍然没有帮助
猜你喜欢
  • 2014-05-29
  • 2013-03-08
  • 2013-02-21
  • 2019-10-02
  • 1970-01-01
  • 2014-04-13
  • 2013-03-10
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多