Ändern, wo bootstrap "modal-open" - Klasse zugewiesen ist, anstelle des Körpers
Derzeit
modal-open
zugeordnet ist, um den Körper, wenn der modal geöffnet wird. Wie kann ich das ändern, wo die Klasse Hinzugefügt wird, anstatt den Körper.
Vielen Dank für jede Hilfe.
InformationsquelleAutor Third_Hyperion | 2014-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ändern, js, fügt modal-offen. Es ist ein bisschen seltsam, wie behaviur, trotzdem können Sie es tun, sanft oder Brutal.
Leise: fangen modal klicken Sie zum anzeigen und entfernen-Klasse, um Körper hinzufügen, um ein weiteres element:
//Modal wird zuerst Hinzugefügt, um Körper und dann entfernt und Hinzugefügt ein weiteres element
und dann abzufangen, auch das schließen des modalen und fügen Sie eine Ausführung einer zweiten entfernen:
Brutal-Methode, um zu vermeiden, dass modal-offen-es ist unnötige Hinzugefügt, um Körper-element:
gehen Sie in TwitterBootstrap-Verzeichnis > js
Öffnen modal.js
Suche nach modal-öffnen , finden Sie (auf version 3.2.0):
in
finden Sie
in
Modal.prototype.hide
finden Sie
ändern Sie die Ziel
addClass
undremoveClass
und ersetzen Sie diese Anweisungen, wenn Sie eine Feste element, es ist genug, einfach (Ex:$('#myFixedElement').addClass('modal-open')
, wenn es ein dynamisches element es ist Komplex und Sie müssen wieder abfangen, die Show-Funktion zum hinzufügen einesglobal var
in js zu lassenmodal.js
kennen und Lesen Sie Ihre Ziel-element. Allerdings können Sie auch ändern Sie die Unterschrift diese Funktionen aber ich weiß nicht wirklich vorschlagen Sie tun, im Grunde machen Sie Ihre code zu schwer zu mantain.Nur noch eines, die <div class="modal-backdrop"></div>, die Hinzugefügt wird, wenn das modale aktiviert ist, gibt es eine Möglichkeit zu bestimmen, wo, das wird platziert, so wie es da steht wird es platziert direkt vor dem schließenden body-tag. Ich möchte, um es zu platzieren, dazwischen ein <div id="sb-Seite"></div> vielen Dank für Ihre Hilfe.
Ah ich fand, ändern Sie einfach die append-body-bit, wie das Beispiel, das Sie oben vergeben, Dank!
Dies ist der Standard-jquery-Verhalten, aber wenn Sie interessieren sich für diese position (es ist ziemlich usless zu ändern, außer wenn Sie arbeiten, in die ein iframe mit einer festen Größe) können Sie einfach display:none in der css, während der modal-er ist nicht aktiv, es ist ein bisschen schwierig, so dass irgendwann eine andere Frage. Wenn Sie möchten ändern, können Sie machen es Brutal (in Modaler.der Prototyp.hintergrund modal.js Sie haben, dies zu ändern.$hintergrund = $('<div class="modal-backdrop' + belebt + '" />') .appendTo($('#sb-Standort')) oder kopieren, stornieren, Klon via jquery mit der gleichen Technik, wie in der ersten Antwort. Vergessen Sie nicht zu Stimmen 😉
Ich kann nicht abstimmen, tut mir Leid, dont haben genug rep 🙁
InformationsquelleAutor MrPk