Проблема с модальным диалогом для открытия дополнительного диалогового окна

StackOverflow https://stackoverflow.com/questions/77287

Вопрос

У меня есть modal dialog форма, внутри которой есть несколько "справочных ссылок", которые должны открывать другие немодальные панели или диалоговые окна поверх нее (сохраняя при этом основной диалог в остальном модальным).

Однако они всегда оказываются за маской. YUI кажется, он признает высшую z-index там и настройка маски и модального диалогового окна на более высокий уровень, чем это.

Если я подожду, пока отобразится содержимое справки на панели, то смогу установить для них более высокий z-индекс.Пока все идет так хорошо.Таким образом, проблема заключается в том, что поля во вторичных немодальных диалоговых окнах не могут быть сфокусированы.Модальный диалог под ними, похоже, каким-то образом препятствует переходу фокуса на что-либо, чего нет в начальном модальном диалоговом окне.

Также было бы приемлемо, если бы я мог выполнить эту "групповую модальность диалога" с помощью jQuery, если YUI просто не позволит этого.

Помогите!

Это было полезно?

Решение

По умолчанию YUI управляет z-индексом всего, что расширяет YAHOO.widget.Наложение и использует панель наложения.Он делает это через YAHOO.widget.Метод наложения "bringToTop".Вы можете отключить это, просто изменив метод "bringToTop" на пустую функцию:

YAHOO.widget.Overlay.prototype.bringToTop = function() { };

Этот код отключил бы его навсегда, и вы могли бы просто поместить это в нижней части container.js файла.Я нахожу, что этот подход немного напоминает кувалдный, поэтому мы расширяем классы YUI и после вызова "super.constuctor" пишем:

this.bringToTop = function() { };

Если вы сделаете это, вы, по сути, скажете YUI, что сами будете управлять z-индексами своих элементов.Наверное, это прекрасно, но прежде чем это делать, нужно кое-что обдумать.

Другие советы

Исходный диалог не может быть модальным, если предполагается, что пользователь взаимодействует с другими элементами — таково определение модального.Открывается ли исходное диалоговое окно в самом деле нужно ли вообще быть модальным?Если да, то пробовали ли вы переключать модальное свойство исходного диалогового окна перед открытием других элементов?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top