Могу ли я проверить, является ли Bootstrap Modal в настоящее время отображаемым/скрытым программным путем?
Как bool a = if("#myModal").shown();
?
Мне нужно true/false
Могу ли я проверить, является ли Bootstrap Modal в настоящее время отображаемым/скрытым программным путем?
Как bool a = if("#myModal").shown();
?
Мне нужно true/false
alert($('#myModal').hasClass('in'));
Он вернет true, если модальный открыт
Лучший метод приведен в документах
$('#myModal').on('shown.bs.modal', function () {
// will only come inside after the modal is shown
});
для получения дополнительной информации см. http://getbootstrap.com/javascript/#modals
его старый вопрос, но во всяком случае, что-то я использовал, если кто-то искал то же самое
if (!$('#myModal').is(':visible')) {
// if modal is not shown/visible then do something
}
Когда модальное скрыть? мы проверяем следующее:
$('.yourmodal').on('hidden.bs.modal', function () {
// do something here
})
Используйте hasClass('in')
. Он вернет true, если модальное состояние находится в состоянии OPEN
.
например:
if($('.modal').hasClass('in')){
//Do something here
}
Официально:
> ($("element").data('bs.modal') || {})._isShown // Bootstrap 4
> ($("element").data('bs.modal') || {}).isShown // Bootstrap <= 3
{}
используется, чтобы избежать случая, когда модальное окно еще не открыто (возвращается undefined
). Вы также можете назначить его равным {isShown: false}
чтобы сделать его более {isShown: false}
.
if($('.modal').hasClass('in')) {
alert($('.modal .in').attr('id')); //ID of the opened modal
} else {
alert("No pop-up opened");
}
С Bootstrap 4:
if ($('#myModal').hasClass('show')) {
alert("Modal is visible")
}
Для меня это работает
if($("#myModal").css("display") !='none' && $("#myModal").css("visibility") != 'hidden') alert("modal shown");