【问题标题】:jQuery dialog box does not pop upjQuery对话框不弹出
【发布时间】:2011-10-11 01:02:13
【问题描述】:

如果用户未登录,我应该会弹出一个对话框,然后按此页面上的“投票”链接:http://www.problemio.com

我在这里有一些 JavaScript:problemio.com/js/problemio.js,我在全局变量中声明该弹出窗口,如下所示:

var $dialog = $('#loginpopup')
    .dialog({
        autoOpen: false,
        title: 'Login Dialog'
    }); 

var $problemId = $('#theProblemId', '#loginpopup');

$("#newprofile").click(function () 
{
    $("#login_div").hide();
    $("#newprofileform").show();
});

但不确定#newprofile 代码是否正确,或者如何使其成为全球性的,或者它是否不能是全球性的。这种困惑源于我对此有点陌生。

Chrome 中的 JavaScript 控制台没有显示任何与此相关的错误,这更加令人困惑。

关于我可能做错了什么有什么想法吗?

谢谢!!

【问题讨论】:

  • 尝试:if (queue.login == null)
  • @zdrsh 检查不是问题。代码到达 $dialog.open 行,但它没有打开任何东西。
  • 我正在使用 chrome,但它没有。我会试试火狐
  • @zdrsh 对我来说适用于 chrome。看,我将在 if 块中添加警报语句
  • @zdrsh 实际上,该块中已经有一个有效的警报语句。您是否按下“投票”链接?我确实做了你建议的改变,但它仍然不起作用

标签: javascript jquery


【解决方案1】:

尝试使用

$("#loginpopup").dialog();

来电

$(foo).dialog()

将初始化一个对话框实例,并通过以下方式自动打开对话框 默认。如果要重用对话框,最简单的方法是禁用 “自动打开”选项:

$(foo).dialog({ autoOpen: false })

打开它

$(foo).dialog('open')

。要关闭它,请使用

$(foo).dialog('close')

jQuery UI Dialog

【讨论】:

  • 成功了!!为什么你认为原来的方法行不通?我认为它在 API 中是合法的。谢谢!!
  • 我不确定。原件适用于 $dialog.dialog("close"); $("#loginpopup") 只是对 DOM 元素的引用,$dialog 是对 jQuery 对话框的引用。但我期望 $("#loginpopup").dialog("open");是正确的语法..
【解决方案2】:

我有点困惑,不确定你的问题是否完整。但是,您在对话框中设置了autoOpen: false,因此您必须手动打开它:

$("#loginpopup").dialog("open");

在您的“投票”点击处理程序中。

【讨论】:

  • 是的,我认为这段代码会打开它:$dialog.dialog('open');在我重新洗牌之前,它曾经打开过它。我没有发布我所有的代码,但我确实发布了一个链接,指向所有 JavaScript 代码所在的位置,以便您了解它的情况。
猜你喜欢
  • 2012-06-07
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
相关资源
最近更新 更多