こんにちはフェローSOユーザー、
モーダルボックスに自動入力するときにこの問題が発生しました。
すでにコンテンツが含まれていることもあるので、リクエストごとに非表示/表示を試してみました。ただし、表示は非表示機能が実行される前に起動されるため、スクリプトが壊れます。
「hidden」にバインドすることはできません。これは、初めての場合、ブートストラップからhidden関数を起動しないためです。
Modal( 'true')を使用すると、オブジェクトにisShown要素があることがわかりますが、アクセス方法を知っている人はいますか?
Console.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は、モーダルのIDです。
Bootstrapバージョン2および3ソリューションそしてdata
をヒットしたくない(名前はすでに一度変更されているように見えるため)...
$(element).hasClass('in')
(「フェードイン」または「表示」されます。ブール値を返すというプラス)
または
"false" === $(element).attr('aria-hidden')
(つまり、アリアは非表示または表示されます。"true"
この場合は非表示になります。)
source from bootstrap 3.3.1 here :を参照してください。
this.backdrop(function () {
...
that.$element
.addClass('in')
.attr('aria-hidden', false)
...
繰り返しますが、そのコードは3.3.1からのものです。これは2.1.0でも機能することを確認できます。この場合、アヒルのスニッフィング[原文のまま]の方がおそらく優れています。
Bootstrap 4:の回答
$("element").data('bs.modal')._isShown
関数として:
function isModalShown(modal) {
var modalIsShown = (modal.data('bs.modal') || {})._isShown;
return !(typeof modalIsShown === 'undefined' || !modalIsShown);
}