Bootstrap 3 Modal: как проверить, открыт или закрыт модальный, используя jquery/javascript

Может ли кто-нибудь сказать мне, как проверить статус загрузки bootstrap 3.0, открыто или закрыто с помощью jQuery или javascript. Я использовал следующий код, но он работает, когда вы открыли модальный код за один раз, в противном случае выдает ошибку undefined.

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

Ответ 1

Вы также можете использовать прямое jQuery следующим образом:

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

Ответ 2

вы можете ссылаться на свою страницу http://getbootstrap.com/javascript/#modals

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

show.bs.modal
Это событие срабатывает сразу же после вызова метода show instance. Если вызвано щелчком, элемент clicked доступен как свойство relatedTarget события.

shown.bs.modal
Это событие запускается, когда модальное изображение становится видимым для пользователя (будет ждать завершения переходов CSS). Если вызвано щелчком, элемент clicked доступен как свойство relatedTarget события.

hide.bs.modal
Это событие запускается сразу же после вызова метода экземпляра hide.

hidden.bs.modal Это событие будет запущено, когда модальная часть будет скрыта от пользователя (будет ждать завершения CSS-переходов). loaded.bs.modal Это событие запускается, когда модаль загружает контент с помощью удаленной опции.

Ответ 3

попробуйте проверить:

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

или

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

Ответ 4

если модаль открывается в форме, загруженной ajax, вы можете использовать

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