jQuery UI 对话框按钮图标

标签 jquery jquery-ui jquery-ui-dialog

是否可以向 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');

然后我确实得到了一个带有红色文本的删除按钮。这还不错,但我真的很喜欢“删除”按钮上的那个小垃圾桶 Sprite 。

编辑:

我对接受的答案做了一些调整:

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 px 可防止按钮文本换行到第二行。

最佳答案

我尝试过这个,它有效:)

[....]
open: function() {
                $('.ui-dialog-buttonpane').
                    find('button:contains("Cancel")').button({
                    icons: {
                        primary: 'ui-icon-cancel'
                    }
                });
[....]

关于jQuery UI 对话框按钮图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2525524/

相关文章:

javascript - jQueryUI 可排序的奇怪行为

jquery-ui - 动画 jQuery UI 对话框自动调整大小

jquery - 在 jquery ui 对话框中,如何更改单个模式对话框后面的颜色/契约(Contract)

Javascript多个类每个函数获取选定的类名

jquery - 在 jQuery UI 日期选择器中仅选择特定日期(日期列表来自 AJAX)

javascript - 单选按钮组包含复选框组

javascript - 平滑过渡 removeClass

javascript - jquery 对话框内的 ckeditor 实例

javascript - JS 脚本没有运行?

javascript - 隐藏父级的 jQuery 脚本不起作用 - Wordpress