Bootstrap 3 Modal: как проверить, открыт или закрыт modal с помощью jquery / javascript

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

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

4 ответов


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

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

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

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

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

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

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

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


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

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

или

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

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

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