Ответ 1
EDIT:
Здесь билет BugTracker.
Более простым решением является использование этого фрагмента после включения библиотеки jQuery:
if ( $.attrFn ) { $.attrFn.text = true; }
jsFiddle
Эта проблема должна быть исправлена при выпуске jQuery UI 1.8.23. Кредиты на scott.gonzalez со страницы билета BugTracker.
EDIT: это было исправлено в UI 1.8.23.
Мое старое решение:
(используйте его, если у вас есть проблемы с вышеприведенным)
Я сделал временное исправление для этой проблемы (пока новая стабильная версия UI или ядра не будет выпущена).
Там ошибка с jQuery 1.8, взаимодействующая с jQuery UI 1.8.22, которая хранит текст в родительском атрибуте button
text
вместо создания textNode
внутри span.ui-button-text
:
Используйте этот фрагмент после инициализации jQuery UI dialog
или любого другого интерфейса, который имеет ошибку этого пользовательского интерфейса:
//iterate through all UI button text spans in the document
$('.ui-button-text').each(function() {
var $this = $(this);
if ($this.text() == '') //if it has no text (bugged)
$this.text($this.parent().attr('text')); //sets the text which was passed
});
jsFiddle
script проверяет, не имеет ли пользовательский интерфейс текст перед тем, как что-либо сделать, поэтому он безвреден для сохранения, даже если вы забудете его там, когда будете обновлены до будущих неиспользуемых версий ядра/интерфейса.
Если у вас есть лучшее решение или информация об этой ошибке, я буду рад принять ее. =]
Обратите внимание, что вы можете перейти на jQuery 1.7.2 или использовать предварительный выпуск UI 1.9.0, как упоминалось в вопросе, если вы не можете дождаться стабильной версии и все еще хотите использовать последние стабильные версии.