jQuery UI对话标题栏问题

时间:2010-11-24 16:12:21

标签: jquery css jquery-ui-dialog titlebar

我希望其他人经历过这一点,并能指出我在正确的方向上解决原因/解决方法。

我遇到的问题是我正在使用jQuery UI-Dialog进行某些表单输入。当对话框显示时,它完全没有标题栏。我在firebug中打开它,注意到有一个CSS项目表示如下;

element.style {
  display:none;
}

Firefox中的element.style似乎是指/ html / body / div [3] / div,它是用于标题栏本身的div。当我禁用display:none;标题栏变得可见。所以,我知道出现了什么导致它,但似乎css也许是jquery本身可能发生的事情的结果。

我最初认为由于我的CSS文件可能会出现CSS冲突,因此我将它们评论出来并尝试仅使用jquery库和自定义css和图像运行页面。仍然得到同样的东西。

我已经和我斗争了好几天了,真的可以使用一些建议。

由于

更新:

$(document).ready(function() { 
    $("#dlgEditMlgData").dialog({ autoOpen: false, 
                                  modal: true, 
                                  show: 'blind', 
                                  hide: 'explode', 
                                  title: 'Mileage Entry Edit Utility'
    }); 
    $("#dlgEditMlgData").hide().siblings().hide();
});

2 个答案:

答案 0 :(得分:1)

你发布了这样的代码:

$(document).ready(function() { 
  $("#dlgEditMlgData").dialog({ 
    autoOpen: false,
    modal: true,
    show: 'blind',
    hide: 'explode',
    title: 'Mileage Entry Edit Utility'
  }); 
  $("#dlgEditMlgData").hide().siblings().hide(); 
});

当您调用.dialog时,元素将移动到文档的末尾并插入到包装器中(对话框的框架)。

但之后你会在元素上调用hide并隐藏它的'siblings,这意味着你隐藏了div本身,但是你也隐藏了标题栏,它在div被移动后是div的兄弟。如果你需要隐藏元素的兄弟,请在创建对话框之前这样做。

答案 1 :(得分:1)

你有没有理由要调用$(“#dlgEditMlgData”)。hide()。siblings()。hide()?将autoOpen设置为false时将对话框初始化为对话框时,将隐藏该对话框以启动。要显示该对话框,请调用:

$('#dlgEditMlgData').dialog('open');

无需在对话框或其兄弟节点上显式调用hide()。