整理Bootstrap中modal的定義與可使用的事件。
這個還滿好用的,除了可以用來產生互動式視窗,我還應用在填寫表單時,某些操作需要鎖定整個背景。
HTML:
<!--
「data-backdrop="static"」 鎖定背景,點擊背景時不自動關閉視窗
「fade」 淡入、淡出的轉場效果
「modal-lg」視窗大小,如modal-lg、modal-md、modal-sm
「data-dismiss="modal"」 關閉視窗
「data-keyboard="true"」 是否用ESC鍵關閉,預設為true
-->
<div id="ooo" class="modal inmodal fade" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" data-keyboard="true">
<div class="modal-dialog modal-lg" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">
<span>×</span>
</button>
<div class="modal-title ">
標題列
</div>
</div>
<div class="modal-body" >
內容
</div>
<div class="modal-footer" >
<button class="btn">OK</button>
<button class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<!-- 使用按鈕開啟 data-target-->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#ooo">...</button>
Javascript:
//顯示視窗前呼叫
$("#ooo").on("show.bs.modal",function(e){
console.log('顯示視窗前呼叫');
});
//轉場特效結束,已完全呈現時呼叫
$("#ooo").on("shown.bs.modal",function(e){
console.log('轉場特效結束,已完全呈現時呼叫');
});
//關閉視窗前呼叫
$("#ooo").on("hide.bs.modal",function(e){
console.log('關閉視窗前呼叫');
});
//轉場特效結束,已完全隱藏時呼叫
$("#ooo").on("hidden.bs.modal",function(e){
console.log('轉場特效結束,已完全隱藏時呼叫');
});
//隱藏視窗
$("#ooo").modal('hide');
//開啟視窗
$("#ooo").modal('show');
//切換視窗顯示、不顯示
$("#ooo").modal('toggle');
//判斷視窗是否開啟中
if($("#ooo").hasClass('in')){
console.log('視窗目前是開啟的狀態..');
}