Ответ 1
Ответ для Twitter Bootstrap 3:
$("element").data()['bs.modal'].isShown
или
$("element").data('bs.modal').isShown
Привет, пользователи SO SO,
У вас есть эта проблема, когда я автоматически заполняю модальный блок.
Иногда у него уже есть контент, поэтому я пробовал делать hide/show по каждому запросу. Но шоу запускается до того, как будет выполнена функция hide, поэтому он разбивает script.
Я не могу сделать привязку к "скрытому", потому что если это первый раз - он не будет запускать скрытую функцию из начальной загрузки.
Используя modal ('true'), я вижу, что у объекта есть элемент isShown, но кто-нибудь знает, как я могу получить к нему доступ?
Консоль .log показывает это:
$backdrop
[div.modal-backdrop]
$element
[div#modal-from-dom.modal]
isShown
true
settings
Object { backdrop="static", keyboard=true, show=false}
hide
function()
show
function()
toggle
function()
__proto__
Object { toggle=function(), show=function(), hide=function()}
Ответ для Twitter Bootstrap 3:
$("element").data()['bs.modal'].isShown
или
$("element").data('bs.modal').isShown
Ответ:
$("element").data('modal').isShown
В bootstrap 3.0.x
$('#modal_Id').data().modal.isShown
или
$('#modal_Id').data('modal').isShown
modal_id - это идентификатор вашего модального
Если вы хотите использовать решение Bootstrap версии 2 и 3 и скорее не попадете в data
(так как это похоже на то, что имя уже изменилось один раз)...
$(element).hasClass('in')
(будет "исчезать" или "видимым", плюс, что он возвращает логическое значение)
или
"false" === $(element).attr('aria-hidden')
(так что ария скрыта или видима также. "true"
для скрытых в этом случае.)
Смотрите источник из bootstrap 3.3.1 здесь:
this.backdrop(function () {
...
that.$element
.addClass('in')
.attr('aria-hidden', false)
...
Опять же, этот код из 3.3.1. Может подтвердить это также работает в 2.1.0. В этом случае, вероятно, лучше похудеть [sic].