我有以下代码示例:
<div id="dlgTest1" style="display: none">
<p>
Lorem ipsum test popup dialog<br />
<br />
Click the OK button to resume activity.
</p>
</div>
<script type="text/javascript">
$(document).ready(function () {
var myTitle =
"<div style='float: left'>LEFT TEXT</div><div style='float: right'>RIGHT TEXT</div>";
$("#dlgTest1").dialog({
title: '', // new jquery-ui-1.10.2 doesn't allow HTML here
autoOpen: false,
minWidth: 500, width: 500,
minHeight: 200, height: 200,
resizable: true,
modal: true,
show: "blind",
hide: "explode",
buttons: {
"OK": function () {
$(this).dialog("close");
}
}
}).siblings('.ui-dialog-titlebar').html(myTitle); // title goes here
$("#dlgTest1").dialog("open").dialog("moveToTop");
});
</script>
此示例代码打开一个 jQuery 对话框,该对话框在左侧和右侧的标题栏中显示文本,这是通过myTitle
一个包含两个<div>
元素的 HTML 代码的变量来实现的。
在以前的 jQueryUI 版本(例如 V1.8.20)中,我能够直接将 title 属性指定为的内容,myTitle
它就像一个魅力。现在我已经升级到 V1.10.2 并注意到标题不再解释 HTML,而是<div> ...
在标题中显示。正如你所看到的,我正在使用调整.siblings('.ui-dialog-titlebar').html(myTitle);
来传递我的 HTML 代码,这基本上是有效的。
但它的副作用是它隐藏了用于关闭对话框的 (X) 按钮(在旧的 jQUery UI V1.8.20 版本中没有出现这种副作用)。我无法回到早期版本的 jQueryUI,因为我需要依赖于最新版本的控件。
问题:如何避免 (X) 关闭按钮被右对齐文本隐藏?
注意:如果我使用普通文本而不是 HTML 格式的文本,则会显示图标,所以原因不是缺少样式或位图。
我已经到处寻找(从http://jqueryui.com/开始),在 Google 等中搜索,但没有找到解决方案。
任何帮助深表感谢。
更新:(回答下面的评论)
- 我正在使用ui-lightness css 主题,没有任何修改
- 添加
padding-right:20px
到style
右对齐的属性div
并不能解决问题。
最后说明:
与大家的讨论对我解决问题有很大帮助。我已经发布了最终对我有用的答案。
非常感谢所有支持我的人,你们真的很棒!每个发布答案的人都得到了我的 +1。