2011-12-21 3 views
2

Я хотел бы заменить кнопки диалога jquery с изображениями собственных кнопок. Какой самый аккуратный способ сделать это?Как изменить диалоговые кнопки jquery

На кнопках не будет наложен текст. Я использую jquery 1.4.2 и jquery-ui 1.8.1

ответ

2

Возможно, в открывшемся диалоговом окне диалога откройте кнопки и удалите классы ui-кнопок и добавьте свои собственные.

var buttons = $(dialog_selector + ' .ui-dialog-buttonpane button'); 
for (var i = 0; i < buttons.length; ++i) { 
    $(buttons[i]).removeClass('ui-button-text-only').removeClass('ui-button'.addClass('yourclass'); 
} 
+0

любой способ различать кнопки? –

+0

у вас может быть текст на кнопке и доступ к нему через $ (кнопки [i]). Text(), а затем удалить этот текст, если он не нужен. Наверное, это не лучшее решение, но выполнимое. –

+0

Да, это было бы «выполнимо». Благодарю. –

3

Не применяйте селектора CSS, используемые пользовательским интерфейсом jQuery.

Используйте текстовый отступ CSS с большим значением для перемещения текста из окна просмотра и используйте фон CSS для установки изображения (и опрокидывания), например.

.button { 
    text-indent: -9999px; 
    background: transparent url ('/path/to/button/image.png') no-repeat left top; 
    ... 
    ... 
} 
+0

Это неприятный взломать текст спереди. Кроме того, мои изображения кнопок будут разными (две разные кнопки в одном диалоговом окне) –

+0

Бит текста-отступ довольно распространен. И вы можете добавить столько CSS-классов, сколько хотите для разных кнопок. – PartialOrder