我(成功)设置jQuery UI对话框按钮文本的所有地方都停止了工作。按钮出现并且它们正常运行,但是在所有测试的浏览器(IE,Safari,Chrome,Firefox和Opera)中都没有显示文本。使用Chrome的检查器和Firebug,看起来文本甚至没有设置在按钮上,而不是CSS问题。)
最近唯一改变的是我们已经使用jQuery UI 1.8.22转移到jQuery 1.8.0,并且无法再次降级。
可以在jsFiddle http://jsfiddle.net/F7pGu/
上找到简化示例示例HTML :
<div id="form">
<h1>Blah</h1>
</div>
<button id="array-test">Array Test</button>
<button id="object-test">Object Test</button>
示例JavaScript :
var $form = $('#form'),
$arrTest = $('#array-test'),
$objTest = $('#object-test');
$arrTest.click(function(){
$form.dialog({
buttons: [
{
text: 'Cancel'
},
{
text: 'Save'
}
]
});
});
$objTest.click(function(){
$form.dialog({
buttons: {
'Cancel': function () {},
'Save': function () {}
}
});
});
我在阅读文档时找不到任何错误。我们总是使用对象测试方法,但文档现在提到了数组测试方法。
答案 0 :(得分:7)
我做了一些研究,因为这确实是一个奇怪的问题。原来是一个已知的问题,并为它创建了一个bug跟踪器。
以下是bug-tracker解释问题和当前的解决方法。
为了方便起见,这里是ticket本身的直接链接,已经修复并设置为包含在1.8.23版本中。
将以下代码行添加到脚本中将使对话框再次起作用:
if ( $.attrFn ) { $.attrFn.text = true; }
请参阅DEMO
以下是错误跟踪器中链接的其他SO Post。
答案 1 :(得分:0)