2016-08-04 70 views
4

當我的模態打開時,可以將背景更改爲「靜態」嗎?將靜態背景更改爲打開引導模式

我有表單提交按鈕的模態。當我點擊這個按鈕時,顯示加載微調模式,這是我想要將背景更改爲靜態的那一刻

我試過$('#myModal').modal({backdrop: 'static', keyboard: false}),但仍然可以通過單擊背景或使用退出按鈕關閉我的模式。

第二步應該將背景變回真,但我還沒有嘗試過,因爲首先我需要將背景設置爲靜態。

我可以在模態顯示中將靜態背景設置爲靜態模式,但是我想避免這種情況並在提交後更改它。

任何想法?

+0

也許我不明白你的用例,但爲什麼你不初始化背景的模態:static和keyboard:false?爲什麼在打開時需要更改它? – WillardSolutions

+0

因爲我所有的其他模態都可以通過退出按鈕關閉或在模態外單擊。我不想只有一個用戶不能像其他人一樣關閉的模式,我不應該改變所有其他模式。這是特例。提交時,我在模態上顯示微調,並且我想在微調控制器處於活動狀態時禁用關閉模態。 – Exik

+0

[打開時更改Bootstrap模態背景幕設置]的可能重複(https://stackoverflow.com/questions/41421083/change-bootstrap-modal-backdrop-settings-while-open) –

回答

3

好的我解決了這個問題。也許這不是最好的解決方案,但它適用於我的特殊情況。

我在添加$('#myModal').off('click');之後,在顯示加載微調器後就提交了。這可以防止用鼠標點擊關閉模式。

禁用escape按鈕時出現問題,因爲當用戶按下此按鈕時,瀏覽器會停止頁面加載。所以,我決定隱藏微調使用此代碼來解鎖形式:

$(document).on('keydown',function(e) { 
    if (e.keyCode == 27) { 
    $('#myLoadingSpinner').hide(); 
    } 
}); 


編輯: 我發現的背景下另一種解決方案:

$('#myModal').data('bs.modal').options.backdrop = 'static'; 

我想也該爲keyboard = false,但它不起作用。