Попытка создать модальное диалоговое окно jQuery UI без опции закрытия - PullRequest
0 голосов
/ 26 марта 2011

У меня есть модальное диалоговое окно, которое появляется над страницей, к которому нельзя получить доступ, но все равно должно быть видно снаружи модального диалогового окна. У меня все работает отлично, кроме двух проблем:

  • Как только появляется модальное диалоговое окно, ссылка внутри него автоматически фокусируется, поэтому вокруг него появляется синяя рамка (как и для любого элемента, на котором я сфокусирован), но я не хочу такого поведения.
  • Также есть кнопка X, позволяющая пользователю закрыть диалоговое окно, и я хочу от него избавиться.

Любая помощь?

Ответы [ 2 ]

5 голосов
/ 26 марта 2011

Чтобы диалоговое окно jQuery UI не закрывалось:

  1. установите для параметра closeOnEscape значение false:

    $(dlg).dialog('option', 'closeOnEscape', false);

  2. удалить кнопку закрытия сразу после создания:

    $(dlg).parent().find('a.ui-dialog-titlebar-close').remove();

  3. зарегистрировать обработчик NOOP beforeclose:

    $(dlg).bind('dialogbeforeclose', false);

#1 и #3 также можно сделать во время создания.

0 голосов
/ 26 марта 2011

для 2-го пункта, попробуйте это:

1- Перейдите через CSS-файл jQuery-UI и найдите этот класс

.ui-dialog .ui-dialog-titlebar-close

2- Измените этот класс, чтобы кнопка Закрыть былане показывать, просто замените его следующим:

.ui-dialog .ui-dialog-titlebar-close { disply:none; position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }

Я только что добавил новое свойство (Отображение: нет), чтобы убедиться, что кнопка не видна конечному пользователю.

letя знаю, помогло ли это, спасибо.

...