web-dev-qa-db-ja.com

Bootstrapモーダルが表示/非表示になっているかどうかを確認できますか?

Bootstrap Modalが現在プログラムで表示/非表示になっているかどうかを確認できますか?

bool a = if("#myModal").shown();が好きですか?

True/falseが必要です

62
user2736812
alert($('#myModal').hasClass('in'));

モーダルが開いている場合はtrueを返します

125
user2663434

最良の方法はドキュメントに記載されています

$('#myModal').on('shown.bs.modal', function () {
  // will only come inside after the modal is shown
});

詳細については http://getbootstrap.com/javascript/#modals を参照してください

25
vipulsharma

それは古い質問ですが、とにかく誰かが同じものを探していた場合に私が使用したものがここにあります

if (!$('#myModal').is(':visible')) {
    // if modal is not shown/visible then do something
}
20
ctf0

モーダル非表示の場合このようにチェックします:

$('.yourmodal').on('hidden.bs.modal', function () {
    // do something here
})
4
Kamlesh

hasClass('in')を使用します。モーダルがOPEN状態の場合、trueを返します。

例えば:

if($('.modal').hasClass('in')){
   //Do something here
}
3
Pehlaj

公式な方法で:

> ($("element").data('bs.modal') || {})._isShown    // Bootstrap 4
> ($("element").data('bs.modal') || {}).isShown     // Bootstrap <= 3

{}は、モーダルがまだ開かれていないことを避けるために使用されます(undefinedを返します)。また、{isShown: false}と同じ値を割り当てて、より意味のあるものにすることもできます。

3
Sakata Gintoki

Bootstrapの場合4:

if ($('#myModal').hasClass('show')) {
    alert("Modal is visible")
}
1
if($('.modal').hasClass('in')) {
    alert($('.modal .in').attr('id')); //ID of the opened modal
} else {
    alert("No pop-up opened");
}
1
Jaykishan

私にとってこれはうまくいく

 
 if($( "#myModal")。css( "display")!= 'none' && $( "#myModal")。css( "visibility")!= 'hidden')
 
 alert("modal shown");
1