我在jquery ui对话框中附加了一个页脚,页脚样式就像标题一样,它固定在底部,所以如果有滚动内容,底部的页脚就不会移动。< / p>
问题是,对话框自动计算的高度是错误的,因为我将页脚html附加到对话框,我猜这是在它计算高度之后,因此页脚在文本内容的前面
所以我在做:
var footer = "<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" ... ";
$("#popup").dialog({
modal: true,
autoOpen: false,
auto: true
}).parent().append(footer);
// if condition here
$("#popup").dialog("open");
所以我复制了标题对我的页脚的样式。
在chrome / firefox中,我将此选项添加到对话框中,该对话框将hhight调整了20px,修复了我的问题:
$("#popup").dialog({
modal: true,
autoOpen: false,
auto: true,
open = function() {
$("#popup").css('height', $("#popup").height() + 20);
}
});
理想情况下,我想在计算高度之前将页脚内容添加到对话框中,或以某种方式告诉它重新计算高度。
问题是,调用.dialog是将所有html / css /样式添加到元素#popup的内容,并且在调用(计算高度)之后,我链接了追加调用,但到那时为时已晚。
我能以某种方式解决这个问题吗?同样,它必须在IE中工作。
答案 0 :(得分:3)
使用create
方法代替open
。当我这样做时,这对我来说在Chrome&amp; IE 7 - 9。