Dialog jQuery IE7 Problemi
-
26-09-2019 - |
Domanda
Ho problemi con la larghezza della barra del titolo solo in IE7. La prima funzione di finestra di dialogo quando viene aperta utilizzando la larghezza: 'Auto' La barra del titolo non si estende sull'intera finestra di dialogo. La seconda funzione che utilizza Minwidth funziona ma si comporta più come la proprietà di larghezza e non cresce di dimensioni con il contenuto. Qualche idea?
Non funziona:
$(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;
}
});
Funzionante (solo come larghezza fissa):
$('#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
});
Soluzione
In teoria Larghezza: Auto non è supportata, ma sembra funzionare in IE8 e FF, ma non su IE7
Mi sono imbattuto in questo link:
http://ovaraksin.blogspot.com/2011/05/jquery-ui-dialog-with-auto-width-and.html
E lo ha adattato così:
$("#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");
});
Altri suggerimenti
Cosa succede se non definisci affatto la larghezza? Hai provato la larghezza: 100%?