bootstrapモーダルボックスを条件付きで閉じたい。$('#modal').modal('hide');
を使用すると、コードに問題が発生する。HTMLでdata-dismiss="modal"
を使用すると、テンプレート、モーダル却下アクションは、実際の機能がボタンクリックで実行される前に実行されます。
だから、bootstrap modalを閉じる他の方法や、実行時にdata-dismiss="modal"
を使用するアイデアはありますか?
hide
イベントにサブスクライブし、イベントでpreventDefault
を使用することにより、data-dismiss
属性自体を使用する自動モーダルクローズ動作または手動モーダルオープニング(現在実行していると思います)で実行できます。
$('yourmodalselector').on('hide',function(e){
if(yourConditionNotToCloseMet){
e.preventDefault();
}
});
ドキュメント を参照してください
hideイベントイベントは、hideインスタンスメソッドが呼び出されるとすぐに発生します。これは、メソッドが呼び出されるときに取得され、モーダルが閉じないようにする最適な場所です。
このような別のボタンを作成します
<button type="button" class="btn btn-warning btn-lg shiny" data-dismiss="modal" aria-hidden="true">Cancel</button>
このボタンにはdata-dismiss="modal"
。必要に応じてこれを非表示にすることができます。
これで、カスタマイズされた方法で他の関数を使用でき、モーダルを非表示にする場合は呼び出すことができます
$(".btn-warning").click();