Ich bin sehr noob, also denke ich, dass ich etwas (wahrscheinlich offensichtliches) mit Twitter Bootstrap Modal beaufsichtige. Ich versuche, ein Modal nur auf Mobilgeräten zu starten. Dies funktioniert gut mit dem Hinzufügen der Klasse .visible-phone zum modalen div. So weit, ist es gut. Aber dann möchte ich, dass es funktioniert, was bedeutet, dass Sie es mit der X-Taste schließen können. Und ich kann den Knopf nicht zum Laufen bringen.
<div class="modal visible-phone" id="myModal">
<div class="modal-header">
<button class="close" data-dismiss="modal">×</button>
<h3>text introductory<br>want to navigate to...</h3>
</div>
<div class="modal-body">
<ul class="nav">
<li> ... list of links here </li>
</ul>
</div>
</div>
Am Ende des HTML-Codes habe ich jquery.js (first) und bootstrap.modal.js und bootstrap.transition.js eingefügt. Eigentlich alle Bootstrap-JS-Module (um ein Include nicht zu verpassen). Ich bin nicht erfahren mit js ..
Bitte verzeihen Sie mir, wenn ich ein wirklich dummes Q gestellt habe. Ich konnte die Antwort auf diese spezielle Situation nicht im Protokoll finden.
quelle
$('#myModal').modal('show')
funktioniert für mich, aber verstecken nicht.$('#myModal').modal('toggle');
stattdessen zu verwendenIch hatte Probleme beim Schließen des modalen Bootstrap-Dialogfelds, wenn es geöffnet wurde mit:
Ich habe dieses Problem gelöst, indem ich den Dialog über den folgenden Link geöffnet habe:
Vergessen Sie nicht die Initialisierung:
Ich habe auch die folgenden Attribute für den Schließknopf verwendet:
quelle
Fügen Sie die Klasse hide zum Modal hinzu
Javascript Code
quelle
.modal ('hide') versteckt ein Modal manuell. Verwenden Sie den folgenden Code, um Ihr Bootstrap-Modell zu schließen
Schauen Sie sich hier den funktionierenden Codepen an
Oder
Versuch es hier
Code-Snippet anzeigen
quelle
Geben Sie genau das Modal an, das die Schaltfläche mit dem Datenziel schließen soll. Ihr Button sollte also wie folgt aussehen:
Außerdem sollten Sie nur bootstrap.modal.js benötigen, damit Sie die anderen sicher entfernen können.
Bearbeiten: Wenn dies nicht funktioniert, entfernen Sie die Klasse für sichtbare Telefone und testen Sie sie in Ihrem PC-Browser anstelle des Telefons. Dies zeigt an, ob Sie Javascript-Fehler erhalten oder ob es sich beispielsweise um ein Kompatibilitätsproblem handelt.
Bearbeiten: Demo-Code
quelle
code
<div class = "modales sichtbares Telefon" id = "myModal"> <div class = "modaler Header"> <button class = "schließen" data-Entlassung = "modal" data-target = "# myModal"> × </ button> <h3> Einführung in den Text <br> möchte navigieren zu ... </ h3> </ div> <div class = "modal-body"> <ul class = "nav"> <li> .. Liste der Links hier </ li> <li> Link2 </ li> <li> Link3 </ li> </ ul> </ div> </ div>code
<div class="modal visible-phone" id="myModal"> <div class="modal-header"> <button class="close" data-dismiss="modal" data-target="#myModal">×</button> <h3>text introductory<br>want to navigate to...</h3> </div> <div class="modal-body"> <ul class="nav"> <li> ... list of links here </li> <li> link2 </li> <li> link3 </li> </ul> </div> </div>
Laut Dokumentation sollte das Verstecken funktionieren. Aber das tut es nicht.
Hier ist, wie ich es gemacht habe
quelle
$("#modal-id").modal("toggle"); $(".modal-backdrop").fadeOut('fast',function(){ $("body").removeClass( "modal-open" ); $(".modal-backdrop").remove(); });
Probieren Sie das an ..
quelle
Ich hatte das gleiche Problem auf dem iPhone oder Desktop und konnte den Dialog beim Drücken der Schaltfläche "Schließen" nicht schließen.
Ich fand heraus, dass das
<button>
Tag eine anklickbare Schaltfläche definiert und benötigt wird, um das Typattribut für ein Element wie folgt anzugeben:Überprüfen Sie den Beispielcode für Bootstrap-Modalitäten unter: BootStrap-Javascript-Seite
quelle
Wenn Sie gleichzeitig gezeigt wenig modal haben , können Sie Ziel modal für in-modale Schaltfläche mit Attributen angeben
data-toggle
unddata-target
:Irgendwo außerhalb des Modalcodes können Sie eine andere Umschalttaste haben:
Der Benutzer kann nicht auf die Schaltfläche zum Umschalten im Modal klicken, solange diese Schaltfläche ausgeblendet ist, und es funktioniert korrekt mit der Option
"modal"
für das Attributdata-toggle
. Dieses Schema funktioniert automatisch!quelle
Hier ist ein Snippet, mit dem Sie nicht nur Modals ohne Seitenaktualisierung schließen, sondern bei Drücken der Eingabetaste Modal senden und ohne Aktualisierung schließen können
Ich habe es auf meiner Site eingerichtet, wo ich mehrere Modals haben kann und einige Modals Daten beim Senden verarbeiten und andere nicht. Ich erstelle eine eindeutige ID für jedes Modal, das die Verarbeitung durchführt. Zum Beispiel auf meiner Webseite:
HTML (modale Fußzeile):
jQUERY:
Wie Sie sehen können, führt diese Übermittlung die Verarbeitung durch, weshalb ich diese jQuery für dieses Modal habe. Nehmen wir nun an, ich habe ein anderes Modal auf dieser Webseite, aber es wird keine Verarbeitung durchgeführt. Da jeweils ein Modal geöffnet ist,
$(document).ready()
füge ich ein anderes in ein globales PHP / JS-Skript ein, das alle Seiten erhalten, und gebe der Schaltfläche zum Schließen des Modals eine Klasse mit dem Namen:".modal-close"
:HTML:
jQuery (einschließlich global.inc):
quelle