JQuery对话框创建为不可见

时间:2011-08-04 20:37:44

标签: jquery

我在使用JQuery创建的对话框时出现问题。按下按钮时应该打开。我尝试了几种不同的创建方法,它总是在元素样式中使用“display:none”创建。

单击按钮时,页面变暗(“模态”部分),但对话框未显示。如果我使用firebug删除display:none属性,则对话框会正确显示。

我之前创建了几个对话框没有任何问题,我认为这一定是我正在尝试创建对话框的特定网站的问题。它在CMS中有很多事情发生。我已经尝试过评论包含的其他脚本,但没有帮助。

关于可能导致此问题的任何想法?网站上是否存在会导致新元素不可见的内容?或者会导致jquery添加此属性的东西?

我试过了:

1)在页面加载时创建div,使用autoOpen:false创建对话框,并设置按钮单击事件以调用对话框打开。

2)单击按钮时创建对话框(即(“text”.dialog(...)

3)在任何一种情况下,在对话框打开事件后将显示设置为内联

以上是(1)的实现:

$(document).ready(function() {

$('body').append('<div id="win_dialog">test</div>');

$('#win_dialog').dialog({
    modal: true,
    autoOpen: false,
    show: "fade",
    hide: "fade",
    width: "auto",
    height: "auto",
    close: function(event, ui) {
        $("#win_dialog").remove();
    },
    buttons: {
        "Enter": function () {alert('works');},
        "Cancel": function () { $(this).dialog("close");}
    }
});

$('#enter_win_btn').click(function() {
    $("#win_dialog").dialog('open');
});
});

谢谢!

2 个答案:

答案 0 :(得分:1)

感谢AlienWebguy对版本号的请求,我意识到我正在使用jquery-ui 1.8.4和版本1.8.10的css。我将jquery-ui的脚本标签更新为1.8.10,现在一切似乎都有效。

感谢大家的帮助!这个网站的资源非常棒。

答案 1 :(得分:0)

CMS应该有一个css规则,覆盖对话框上的display:none。在每个包含的样式中检查firebug的css面板中的对话框类和id。一些CMS有类名冲突,我有一个wordpress主题一次这个问题。

此外,是否有任何控制台错误?