Bootstrap 3.を使用して、モーダルイベントがまったく機能していないようです。モーダルが閉じたときにアクションを実行したいのですが、何も起こりません。
これが私の取り除いたHTMLです。
<button type="button" data-toggle="modal" data-target="#imageUpload">Launch modal</button>
<div class="modal fade" id="imageUpload" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
Upload form here
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
そして私のJS:
$(function(){
$('#imageUpload').modal({
show: false
});
$('#imageUpload').on('hidden', function () {
window.alert('hidden event fired!');
});
});
ここにJSfiddleをまとめました- http://jsfiddle.net/EcnC3/1/
Bootstrap 3で動作しないモーダルイベントの他のレポートは見つかりませんでした。そのため、何か間違ったことをしたと思いますが、それを理解することはできません。助けてくれてありがとう提供することができます
documentation によると、イベント名はshown.bs.modal
:
$('#imageUpload').on('shown.bs.modal', function () {
alert('show event fired!');
});
これを見てください[〜#〜] fiddle [〜#〜]
モーダルから.fadeクラスを削除します。これは私のために働いた。
正しいとマークされた答えはそれだけですが、「私が行ったことのないこと」の大規模なリストへの追加-ターゲットとするDOM要素にも注意してください。それは外側のモーダルDivである必要があります。
たとえば、RequireJSとKnockout-AMD-helperのようなテンプレートマネージャーを使用している場合、次のようなマークアップがある可能性があります。
親のマークアップ:
<div class="modal fade" id="addThingModal" tabindex="-1" role="dialog" aria-labelledby="addThingModalLabel" aria-hidden="true">
<div data-bind="module: { name: 'addThing'}"></div>
</div>
テンプレート:
<div id="addThingTemplate" class="modal-dialog">
...
</div>
スクリプトは「#addThingTemplate」ではなく「#addThingModal」をターゲットにする必要があります
モーダルダイアログのBootstrap.min.cssファイルにバグがあるようです。これをBootstrap.cssに変更すると、ダイアログが表示されます。