解決方法:
· 在HTML頁面中編寫模態框時,在div初始化時添加屬性 aria-hidden=”true” data-backdrop=”static”,即可。
· 在需要顯示模態框,初始化時,$(‘#myModal’).modal({backdrop: ‘static’, keyboard: false});?其中 ,backdrop:’static’指的是點擊背景空白處不被關閉;?keyboard:false指的是觸發鍵盤esc事件時不關閉。
模態對話框(Modal Dialogue Box,又叫做模式對話框),是指在用戶想要對對話框以外的應用程序進行操作時,必須首先對該對話框進行響應。如單擊確定或取消按鈕等將該對話框關閉。壹般來說,Windows應用程序中,對話框分為模態對話框和非模態對話框兩種。二者的區別在於當對話框打開時,是否允許用戶進行其他對象的操作。
建立模態對話框
1.選擇File/New/MFC AppWizard[exe],Project name為Test,單擊OK.
2.選擇Single document,單擊Finish.
3.選擇左側Workspace/ResourceView,在Dialog上單擊右鍵,選擇Insert Dialog,默認名字為IDD_DIALOG1.
4.雙擊右側工作區中的對話框,彈出壹對話框Adding a Class,默認選擇Create a new class,單擊OK.
5.在對話框New Class中,在Name中填入CDialogproty,Base class選擇缺省名字CDialog,單擊OK.在MFC ClassWizard 上選擇OK.
6.選擇左側Workspace/ClassView,雙擊CTestView
#include "Dialogproty.h"
class CTestView : public CView
{
protected: // create from serialization only
7.選擇左側Workspace/ResourceView/Menu,雙擊IDR_MIANFRAME,在右側工作區上方,"幫助(H)"後雙擊,彈出對話框Menu Item Properties,點擊General/Pop-up,選為非選擇狀態,在ID內輸入IDR_TEST,Caption中輸入Test,關閉對話框Menu Item Properties,
8.在按鈕Test上點擊右鍵,選擇ClassWizard...,在Messages中選擇COMMAND,點擊Add Function...,彈出對話框Add Member Function,點擊OK,選擇Edit Code.
9.在以下函數中添加代碼
void CTestView::OnTest()
{
// TODO: Add your command handler code here
CDialogproty dlg;
dlg.DoModal();
}
10.編譯,運行。點擊菜單按鈕Test,彈出對話框,點擊OK!完成!
參考資料
CSDN博客.CSDN博客[引用時間2018-1-9]