1.這個問題是兩種寫法不同造成的
第一種
$('#avatar-modal').modal('hide');
這種寫法模態框會關閉,并背景恢復。
第二種
$('#avatar-modal').modal().hide();
這種寫法,模態框會消失,但暗色背景仍然在。不能操作。
所以建議bootstrap相關語法,用第一種即可。
2.解決二級模態框關閉后,遮罩陰影依然存在,導致頁面無法操作的BUG
在項目后臺中由于需要展示二級模態框,在點擊關閉二級模態框(彈出框)的時候出現了遮罩陰影依然存在,導致頁面呈現暗灰色,無法操作的現象效果圖如下:
出現改問題的原因是:由于點擊“關閉”按鈕或點擊模態框右上角的“X”或點擊模態框右邊的空白處,會使兩層或多層模態框同時關閉,但是modal自己生成的遮罩層只關閉了一個,其他的依然存在,因此導致遮罩陰影覆蓋原有頁面,導致無法操作頁面。
解決問題的方法:(1)當最外層的modal關閉后,手動刪除所有的遮罩層:$("#soldier-modal”).remove()
(2)讓modal一層一層關閉,避免出現一次關閉多層的情況 $("#soldier-modal").modal({show:true, backdrop:'static'});
問題總結: 這些問題所涉及到的都是些前端的知識,是bootstrap中的模態框的應用。