コンテンツは動的でなければならないので、モーダルのshow
イベントで動的にモーダルのcssプロパティを設定すると、モーダルのサイズが変更され、デフォルトの仕様が上書きされます。ブートストラップである理由は、以下のようにcssルールを使用してモーダルボディに最大高さを適用します。
.modal-body {
position: relative;
overflow-y: auto;
max-height: 400px;
padding: 15px;
}
したがって、jquery css
メソッドを使用して動的にインラインスタイルを追加できます。
新しいバージョンのブートストラップを使用する場合 show.bs.modal
$('#modal').on('show.bs.modal', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
古いバージョンのブートストラップを使用する場合 show
$('#modal').on('show', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
または、CSSルールを使用してオーバーライドします。
.autoModal.modal .modal-body{
max-height: 100%;
}
このクラスautoModal
をターゲットモーダルに追加します。
フィドルでコンテンツを動的に変更すると、それに応じてモーダルのサイズが変更されます。 Demo
新しいバージョンのブートストラップは、利用可能なを参照してくださいevent names
。
- show.bs.modal このイベントは、show instanceメソッドが呼び出されるとすぐに発生します。クリックが原因の場合、クリックされた要素はイベントのrelatedTargetプロパティとして利用できます。
- shown.bs.modal このイベントは、モーダルがユーザーに表示されたときに発生します(CSSの移行が完了するまで待機します)。クリックが原因の場合、クリックされた要素はイベントのrelatedTargetプロパティとして利用できます。
- hide.bs.modal このイベントは、インスタンスの非表示メソッドが呼び出されるとすぐに発生します。
- hidden.bs.modal このイベントは、モーダルがユーザーから非表示にされたときに発生します(CSSの移行が完了するまで待機します)。
- loaded.bs.modal このイベントは、モーダルがリモートオプションを使用してコンテンツをロードしたときに発生します。
古いバージョンのブートストラップがmodal events サポートされています。
- Show-このイベントは、show instanceメソッドが呼び出されるとすぐに発生します。
- 示される -このイベントは、モーダルがユーザーに表示されると発生します(CSS遷移が完了するまで待機します)。
- hide-このイベントは、インスタンスの非表示メソッドが呼び出されるとすぐに発生します。
- hidden-このイベントは、モーダルがユーザーから非表示にされたときに発生します(CSS遷移が完了するまで待機します)。