JQuery Dialog IE7 Ausgaben
-
26-09-2019 - |
Frage
Ich habe Probleme mit der Breite der Titelbank nur in IE7. Die erste Dialogfunktion, wenn sie mit der Breite geöffnet wird: 'auto' Die Titelleiste erstreckt sich nicht über das gesamte Dialogfenster. Die zweite Funktion unter Verwendung von Minwidth funktioniert jedoch eher wie die Breiteneigenschaft und wächst nicht mit dem Inhalt. Irgendwelche Ideen?
Funktioniert nicht:
$(dialogId).dialog({
autoOpen: 'false',
modal: true,
draggable: false,
resizable: false,
buttons: buttons,
title: title,
width: 'auto',
open: function(){
/* IE HACK */
$buttonPane = $(this).next();
$buttonPane.find('button:first').addClass('accept').addClass('action');
$('.ui-dialog-titlebar-close').hide();
$('.ui-dialog').addClass('open_dialog');
$(this).css('overflow','hidden');// IE hack
onOpen;
},
close: function(){
$('.ui-dialog').removeClass('open_dialog');
afterClose;
}
});
Arbeiten (nur als feste Breite):
$('#conf_dialog').dialog({
dialogClass: dialogclass,
autoOpen: 'false',
modal: true,
draggable: false,
resizable: false,
buttons:buttons,
title:title,
minWidth: 255,
open: function(){
/* IE HACK */
$buttonPane = $(this).next();
$buttonPane.find('button:first').addClass('accept').addClass('action');
$('.ui-dialog-titlebar-close').hide();
},
close: afterClose
});
Lösung
Theoretisch Breite: Auto wird nicht unterstützt, aber es scheint in IE8 und FF zu funktionieren, aber nicht auf IE7
Ich bin auf diesen Link gestoßen:
http://ovaraksin.blogspot.com/2011/05/jquery-ui-dialog-with-auto-width-and.html
Und adaptierte es so:
$("#myDialog").dialog({ autoOpen: false,
width: 'auto',
height: 'auto',
modal: true,
title: 'ABC...'
}).bind("dialogopen", function (event, ui) {
// fix for width:auto in IE
var contentWidth = $(this).width();
$(this).parent().find('.ui-dialog-titlebar').each(function () {
$(this).width(contentWidth);
});
}).bind("dialogclose", function (event, ui) {
//fix for width:auto in IE
$(this).parent().css("width", "auto");
});
Andere Tipps
Was passiert, wenn Sie die Breite überhaupt nicht definieren? Haben Sie es mit Breite ausprobiert: 100%?