IT-Swarm.Net

我可以检查是否显示/隐藏Bootstrap模式?

我可以通过Programatically检查Bootstrap Modal当前是显示/隐藏的吗?

喜欢bool a = if("#myModal").shown();

我需要真/假

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

如果模态打开,它将返回true

120
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')。如果modal处于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
NaturalBornCamper
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")=='block') alert("modal shown");

0
Mónica Cifuentes