Я пошел проверять, будет ли недавно выпущенный jQuery 1.8 (стабильный) совместим с моим текущим проектом в разработке, и, к моему удивлению, это первое, что я увидел:
Для меня это неожиданность, так как я уже был обновлен до jQuery UI 1.8.22, который, согласно сообщению о выпуске, совместим с jQuery 1.8.
Функции обратного вызова вызываются согласно, но кнопки не имеют textNode
, как можно видеть в инспекторе DOM:
Решения, которые я нашел до сих пор, следующие:
- Вернуться к jQuery 1.7.2 (я бы хотел использовать последнюю версию jQuery на моей странице, хотя)
- Обновление до jQuery UI 1.9.0pre (нестабильно)
- Используйте обработчик
open
или вручную отредактируйте HTML-диалог, чтобы включить мой желаемый текст. Кажется, много ненужных хлопот за ошибку в их источнике.
Я что-то упустил или это реальная ошибка?
Вот скрипка, которую я использовал для демонстрации:
jsFiddle
И код для справки в будущем:
HTML
<div id="foo" title="Dialog title">Dialog text</div>
JS
$('#foo').dialog({
buttons: {
Yes: function() { $(this).dialog('close'); },
No: function() { $(this).dialog('close'); }
}
});