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')
を使用します。モーダルがOPEN
状態の場合、trueを返します。
例えば:
if($('.modal').hasClass('in')){
//Do something here
}
公式な方法で:
> ($("element").data('bs.modal') || {})._isShown // Bootstrap 4
> ($("element").data('bs.modal') || {}).isShown // Bootstrap <= 3
{}
は、モーダルがまだ開かれていないことを避けるために使用されます(undefined
を返します)。また、{isShown: false}
と同じ値を割り当てて、より意味のあるものにすることもできます。
Bootstrapの場合4:
if ($('#myModal').hasClass('show')) {
alert("Modal is visible")
}
if($('.modal').hasClass('in')) {
alert($('.modal .in').attr('id')); //ID of the opened modal
} else {
alert("No pop-up opened");
}
私にとってこれはうまくいく
if($( "#myModal")。css( "display")!= 'none' && $( "#myModal")。css( "visibility")!= 'hidden')
alert("modal shown");