關於BootStrap中Modal(模態框)使用心得

一、modal使用:

1.1、登錄bootstrap官網,點擊下載Bootstrap

1.2、導入對應的樣式文件css

1.3、導入對應的js,需要導入bootstrap.js或者bootstrap.min.js文件,bootstrap的前提是jquery,所以我們要在導入bootstrap.js前面導入jquery.min.js

對應導入代碼:

1.4、從官網找到一個案例使用:

創建模態框(Modal)

開始演示模態框

二、modal打開:

2.1、靜態打開:通過data屬性打開隱藏模態框

設置按鈕button的data-toggle:“modal”(以模態框的形式打開),data-target:"#myModal"(設置爲modal的id)

2.2、動態打開:以jquery代碼爲例

$("#myModal").modal({

remote:“test/test.jsp”;//可以填寫一個url,會調用jquery load方法加載數據

backdrop:“static”;//指定一個靜態背景,當用戶點擊背景處,modal界面不會消失

keyboard:true;//當按下esc鍵時,modal框消失

})

remote處可以填寫jsp路徑或者html路徑,用來給modal框注入內容

2.3、動態打開事件:

在modal框加載同時,提供幾個方法用來控制modal框

$("#myModal").on(“loaded.bs.modal”,function{

//在模態框加載的同時做一些動作

});

$("#myModal").on(“show.bs.modal”,function{

//在show方法後調用

});

$("#myModal").on(“shown.bs.modal”,function{

//在模態框完全展示出來做一些動作

});

$("#myModal").on(“hide.bs.modal”,function{

//hide方法後調用

});

$("#myModal").on(“hiden.bs.modal”,function{

//監聽模態框隱藏事件做一些動作

});

2.4、解決remote只加載一次問題:
我們在使用js動態打開modal框使用remote請求數據,只會加載一次數據,所以我們需要在每次打開modal框錢移除節點數據。

解決方案:

$("#myModal").on(“hiden.bs.modal”,function{

$(this).removeData(“bs.modal”);

});

2.5、解決事件監聽多次:

第一次打開modal框正常,第二次,第三次,第n次打開就有可能會出現事件監聽多次的奇怪問題(尤其是多個modal窗口疊加,出現這種問題的機率更高,我大致判斷有可能是組件bug),所以無奈之舉的辦法,只適合應急使用:就是強行讓他只調用監聽一次

int count = 0 ;

$("#myModal").on(“loaded.bs.modal”,function{

if(++count == 1){

//調用你需要的方法

}

//在模態框加載的同時做一些動作

});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章