当前位置:  开发笔记 > 前端 > 正文

jQuery UI对话框 - 无法看到closeText

如何解决《jQueryUI对话框-无法看到closeText》经验,为你挑选了1个好方法。

我正在尝试制作一个简单的对话框 - 没有标题只是'关闭'这个词和右上角的X. 我的文字等将在下面.

但是我摆弄它我无法显示closeText属性 - 我可以在FireBug中看到它,但它不会出现,或者X图形下面会出现几个字符.



1> jitter..:

实际上问题是jQuery UI CSS和jQuery Dialog本身.

jQuery UI对话框执行以下操作,无论您传入的是什么closeText.

它会创建一个包含你的closeText

设置样式ui-iconui-icon-closethick'

无论您是否传入,实际上始终会创建范围closeText.它用于显示x-closing-image.

现在查看我们找到的默认jQuery UI CSS ui-icon

...
text-indent: -99999px;
width: 16px;
height: 16px;
...

因此jQuery设置文本,但浏览器永远不会显示它(text-indent: -99999px)和区域对于任何文本来说太小.

所以我做的是

//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(
    ''+
    closeSpan.text()+
    ''
);

有关一个工作示例,请查看此http://jsbin.com/ibibe/

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有