Frage

Ich habe eine modal dialog Form, die einige „Hilfe-Links“ in sich hat, die andere nicht-modal-Panels oder Dialoge auf es geöffnet werden soll (während der Hauptdialog sonst modal zu halten).

Allerdings sind diese immer hinter der Maske landen. YUI scheint den höchsten z-index erkennen wird da draußen, und die Einstellung der Maske und modalen Dialogs als höher sein.

Wenn ich warten, um die Hilfe Content-Panel-ize, dann kann ich diejenigen setzen einen höheren Z-Index zu haben. So weit, ist es gut. Das Problem ist dann, dass die Felder innerhalb der sekundären, nicht-modalen Dialoge unfocusable sind. Der Modal-Dialog unter ihnen scheint irgendwie den Fokus wird verhindert wird, zu irgendetwas nicht in dem ursprünglichen, modalen Dialog.

Es wäre auch akzeptabel, wenn ich diese „Dialoggruppe Modalität“ tun könnte mit jQuery, wenn YUI einfach wird dies nicht zulassen.

Hilfe

War es hilfreich?

Lösung

Standardmäßig verwaltet YUI den Z-Index von etwas, das YAHOO.widget.Overlay und verwendet eine Überlagerungstafel erstreckt. Es tut dies durch die YAHOO.widget.Overlay der „bringToTop“ -Methode. Sie können dies durch einfaches Ändern der „bringToTop“ Methode, um eine leere Funktion deaktivieren:

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

Dieser Code wäre es gut abschalten und man kann dies nur am unteren Rande der container.js Datei setzen. Ich finde diesen Ansatz ein wenig zu viel von einem Vorschlaghammer Ansatz sein, so dass wir verlängern die Klassen YUI und nach „super.constuctor“ Schreib Aufruf:

this.bringToTop = function() { };

Wenn Sie dies tun, Sie sind im Wesentlichen YUI zu sagen, dass Sie die z-Indizes Ihrer Elemente verwalten sich selbst. Das ist wahrscheinlich in Ordnung, aber etwas zu prüfen, bevor es zu tun.

Andere Tipps

Der ursprüngliche Dialog kann nicht modal sein, wenn der Benutzer soll mit anderen Elementen-, dass die Interaktion ist die Definition von modal. Ist der ursprüngliche Dialog wirklich müssen überhaupt modal sein? Wenn ja, haben Sie versucht, die Modal-Eigenschaft des ursprünglichen Dialogs Makel, bevor Sie die anderen Elemente öffnen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top