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');
}
});
open 関数のセレクターは正常に動作しているようです。「開く」に次を追加すると:
$('.ui-dialog-buttonpane').find('button:contains("Delete")').css('color', 'red');
次に、赤いテキストの [削除] ボタンが表示されます。それは悪くないのですが、削除ボタンにも小さなゴミ箱のスプライトがあればいいのにと思います。
編集:
私は受け入れられた答えに微調整を加えました:
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 ピクセルを追加すると、ボタンのテキストが 2 行目に折り返されなくなります。