Imam modalno pogovorno okno bootstrap, ki ga želim najprej prikazati, ko uporabnik klikne na stran, pa izgine. Imam naslednje:
$(function () {
$('#modal').modal(toggle)
});
<div class="modal" id='modal'>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Error:</h3>
</div>
<div class="modal-body">
<p>Please correct the following errors:</p>
</div>
</div>
</div>
Modalno okno se na začetku prikaže, vendar se ne zapre, ko kliknete zunaj modalnega okna. Poleg tega področje vsebine ni sivo obarvano.. Kako lahko dosežem, da se modal sprva prikaže in nato zapre, ko uporabnik klikne zunaj območja? In kako lahko dosežem, da bo ozadje sivo, kot je prikazano v demonstraciji?
za zaprtje bootstrapa modal lahko posredujete 'hide' kot možnost modalni metodi, kot sledi
$('#modal').modal('hide');
Prosimo, da si ogledate delujočo [fiddle here][2]
bootstrap zagotavlja tudi dogodke, ki jih lahko vključite v funkcionalnost modal, na primer, če želite sprožiti dogodek, ko se je modal končal skrivati pred uporabnikom, lahko uporabite dogodek hidden.bs.modal, več o metodah in dogodkih modala si lahko preberete tukaj v Documentation
Če nobena od zgornjih metod ne deluje, dajte id gumbu za zapiranje in sprožite klik na gumb za zapiranje.
Mojih pet centov o tem je, da ne želim, da bi morali ciljno bootstrap modal z id in vidim, saj bi morala biti le ena modal naenkrat naslednje bi moralo biti povsem dovolj, da odstranite modal kot preklop bi lahko bilo nevarno:
$('.modal').removeClass('show');