2014-07-25 22 views
12

Herkes, bootstrap 3.0 modal durumunu nasıl kontrol edeceğimi söyleyebilir mi, jQuery veya javascript kullanarak açık mı yoksa kapalı mı? Aşağıdaki kodu kullandım, ancak bir kez bir modal açtığınızda çalışır, aksi halde veri tanımlanmamış bir hata verir.Bootstrap 3 Modal: jquery/javascript kullanılarak açık veya kapalı olup olmadığının nasıl kontrol edileceği

if($('#addMemberModal').data('bs.modal').isShown == true){ 
console.log("Modal is open"); 
} 
+0

kontrol dışarı kullanabilirsiniz a/21341587/1781706, bu tanımlanmamış hatayı nasıl aşacağını anlatan bu cevap gibi görünüyor. – jamesthollowell

cevap

29

Ayrıca böyle düz jQuery kullanabilirsiniz: modal ajax tarafından yüklenen bir biçimde açılır

$('#myModal').is(':visible'); 
3

deneyin denetimi:

if($("#addMemberModal").data('modal') && $("#addMemberModal").data('modal').isShown) { 
    console.log("Modal is open"); 
} 

veya

if($('#addMemberModal').hasClass('in')) { 
    console.log("Modal is open"); 
} 
17

onların sayfa http://getbootstrap.com/javascript/#modals

$('#myModal').on('hidden.bs.modal', function (e) { 
    // do something... 
}) 

başvurabilirsiniz show.bs.modal
Bu olay, show örneği yöntemi çağrıldığında hemen tetiklenir. Tıklamanın nedeniyse tıklanan öğe, etkinliğin relatedTarget mülkü olarak kullanılabilir.

shown.bs.modal
modal kullanıcı tarafından görülebilir hale getirilmiştir Bu olay tetiklenir (CSS geçişleri tamamlamak için bekleyecek). Tıklamanın nedeniyse tıklanan öğe, etkinliğin relatedTarget mülkü olarak kullanılabilir. gizlemek Örnek yöntemi olarak adlandırılır Bu olay hemen harekete geçirilir

hide.bs.modal.

hidden.bs.modal Bu olay kalıcı kullanıcıdan gizlenen tamamladığında ateşlenir (CSS geçişleri tamamlamak için bekleyecek). loaded.bs.modal Bu olay, mod, uzak seçeneği kullanarak içerik yüklediğinde tetiklenir.

+2

Ayrıca css sınıfını ('. Modal') kontrol edebilirsiniz. HasClass ('in') – darronz

0

eğer http://stackoverflow.com/

$(document).on('hidden.bs.modal', '#photoModal', function() { 
    cancel_camera(); 
    document.getElementById('PhotoPerson').innerHTML = '<img src="' + photoPerson + '"/>'; 
});* 
İlgili konular