Dialogue jQuery Ie7 Problèmes
-
26-09-2019 - |
Question
J'ai des problèmes avec la largeur de la barre de titre dans IE7 uniquement. La première fonction de dialogue lors de l'ouverture à l'aide de la largeur: «Auto» La barre de titre ne s'étend pas sur toute la fenêtre de dialogue. La deuxième fonction utilisant MinWidth fonctionne mais agit davantage comme la propriété de largeur et ne se développe pas en taille avec le contenu. Des idées?
Ca ne fonctionne pas:
$(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;
}
});
Fonctionnant (uniquement comme une largeur fixe):
$('#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
});
La solution
En théorie, largeur: l'auto n'est pas pris en charge, mais cela semble fonctionner dans IE8 et FF, mais pas sur IE7
Je suis tombé sur ce lien:
http://ovaraksin.blogspot.com/2011/05/jquery-ui-dialog-with-auto-width-and.html
Et l'a adapté ainsi:
$("#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");
});
Autres conseils
Que se passe-t-il si vous ne définissez pas du tout la largeur? Avez-vous essayé la largeur: 100%?