Можно ли добавить значки к кнопкам в диалоге jQuery UI? Я пытался сделать это так:
$("#DeleteDialog").dialog({
resizable: false,
height:150,
modal: true,
buttons: {
'Delete': function() {
/* Do stuff */
$(this).dialog('close');
},
Cancel: function() {
$(this).dialog('close');
}
},
open: function() {
$('.ui-dialog-buttonpane').find('button:contains("Cancel")').addClass('ui-icon-cancel');
$('.ui-dialog-buttonpane').find('button:contains("Delete")').addClass('ui-icon-trash');
}
});
Селекторы в функции открытия работают нормально. Если я добавлю следующее «открыть»:
$('.ui-dialog-buttonpane').find('button:contains("Delete")').css('color', 'red');
тогда я получаю кнопку Удалить с красным текстом. Это неплохо, но мне бы очень хотелось, чтобы этот маленький мусор также спрайтовался на кнопке «Удалить».
Edit:
Я сделал пару твиков к принятому ответу:
var btnDelete = $('.ui-dialog-buttonpane').find('button:contains("Delete")');
btnDelete.prepend('<span style="float:left; margin-top: 5px;" class="ui-icon ui-icon-trash"></span>');
btnDelete.width(btnDelete.width() + 25);
При добавлении некоторого верхнего поля значок перемещается вниз, и создается впечатление, что он центрирован вертикально. Добавление 25 пикселей к ширине кнопки предотвращает перенос текста кнопки на вторую строку.