Диалоговое окноверсия добавлена: 1.0
Описание: Открытие содержимого в интерактивном всплывающем окне.
Диалоговое окно — это плавающее окно, которое содержит строку заголовка и область содержимого. Окно диалога по умолчанию может перемещаться, изменяться в размерах и закрываться с помощью иконки 'x'.
Если длина содержимого превышает максимальную высоту, автоматически появится полоса прокрутки.
Часто добавляются нижняя панель кнопок и полупрозрачный модальный слой перекрытия.
Фокус
При открытии диалогового окна фокус автоматически перемещается на первый элемент, соответствующий следующим условиям:
- Первый элемент в диалоговом окне с атрибутом
autofocus - Первый элемент
:tabbableв области содержимого диалогового окна - Первый элемент
:tabbableв области кнопок диалогового окна - Кнопка закрытия диалогового окна
- Само диалоговое окно
Во время открытия диалогового окна виджет гарантирует, что навигация по клавиатуре с помощью клавиши 'tab' циклически перемещает фокус между фокусируемыми элементами в диалоговом окне, а не за его пределами. Модальные диалоговые окна также предотвращают нажатие мышью на элементы за пределами диалогового окна.
При закрытии диалогового окна фокус автоматически возвращается к элементу, который имел фокус при открытии диалогового окна.
Скрытие кнопки закрытия
В некоторых случаях может потребоваться скрыть кнопку закрытия, например, если у вас есть кнопка закрытия на панели кнопок. Лучший способ сделать это — с помощью CSS. Например, можно определить простое правило, такое как:
.no-close .ui-dialog-titlebar-close {
display: none;
} Затем, вы можете просто добавить класс no-close к любому диалоговому окну, чтобы скрыть его кнопку закрытия:
$( "#dialog" ).dialog({
dialogClass: "no-close",
buttons: [
{
text: "OK",
click: function() {
$( this ).dialog( "close" );
}
}
]
}); Тематизация
Диалоговое окно использует CSS-фреймворк jQuery UI для настройки своего внешнего вида. Если требуется стилизация, специфичная для диалогового окна, можно использовать следующие имена классов CSS для переопределений или в качестве ключей для параметра classes:
-
ui-dialog: Внешний контейнер диалогового окна. Если установлен параметрdraggable, классui-dialog-draggingдобавляется во время перетаскивания. Если установлен параметрresizable, классui-dialog-resizingдобавляется во время изменения размеров. Если установлен параметрbuttons, добавляется классui-dialog-buttons.-
ui-dialog-titlebar: Строка заголовка, содержащая заголовок и кнопку закрытия диалогового окна.-
ui-dialog-title: Контейнер вокруг текстового заголовка диалогового окна. -
ui-dialog-titlebar-close: Кнопка закрытия диалогового окна.
-
-
ui-dialog-content: Контейнер вокруг содержимого диалогового окна. Это также элемент, с которым был инициирован виджет. -
ui-dialog-buttonpane: Панель, содержащая кнопки диалогового окна. Она будет присутствовать только в том случае, если установлен параметрbuttons.-
ui-dialog-buttonset: Контейнер вокруг самих кнопок.
-
-
Кроме того, когда установлен параметр modal, к элементу с классом ui-widget-overlay добавляется к <body>.
Зависимости
- UI Core
- Фабрика виджетов
- Позиционирование
- Кнопка
- Перетаскиваемый (необязательно; для использования с параметром
draggable) - Изменяемый размер (необязательно; для использования с параметром
resizable) - Ядро эффектов (необязательно; для использования с параметрами
showиhide)
Дополнительные заметки:
- Для работы этого виджета требуется функциональный CSS. Если вы создаёте пользовательскую тему, используйте файл CSS виджета в качестве отправной точки.