En fait, le problème est le CSS de l'interface utilisateur jQuery et jQuery Dialog lui-même.
L'interface utilisateur jQuery Dialog effectue les opérations suivantes avec tout ce que vous passez comme closeText
.
- il crée un
<span></span>
qui contient vos closeText
- ensembles les styles
ui-icon
et ui-icon-closethick
'sur elle
La durée est en fait toujours créé, peu importe si vous passez closeText
ou non. Il est utilisé pour afficher l'image -closing-image x
.
Vous voyez maintenant dans la valeur par défaut jQuery CSS de l'interface utilisateur, nous trouvons pour ui-icon
...
text-indent: -99999px;
width: 16px;
height: 16px;
...
Ainsi jQuery définit le texte, mais le navigateur ne sera jamais le montrer (text-indent: -99999px
) et la région trop petite pour tout texte.
Alors ce que je faisais est
//open dialog
$("#dialog").dialog({ closeText: 'Close me' });
//get the automagically created div which represents the dialog
//then get the span which has `ui-icon-closethick` class set (== contains closeText)
var closeSpan = $("div[role='dialog'] span.ui-icon-closethick");
//prepend a span with closeText to the closing-image
closeSpan.parent().before(
'<span style="float:right;margin-right:25px">'+
closeSpan.text()+
'</span>'
);
Cocher cette http://jsbin.com/ibibe/ pour un exemple de travail
Pouvez-vous envoyer votre code? Voulez-vous que le mot "fermer" soit dans la barre de titre près du X? Si oui, je ne pense pas que ce soit possible. –