[英]How can I disable user actions when load mask is shown
我正在使用ExtJS4。我的要求是,當我顯示一個加載掩碼時,應該忽略用戶的點擊。 我該如何實現?
您可以按以下步驟在文檔正文上設置加載蒙版...
//在所有Ajax請求期間顯示微調框var myMask = new Ext.LoadMask(Ext.getBody(),{msg:“請稍候...”});
// Ajax loading message..
Ext.Ajax.on('beforerequest', myMask.show, myMask);
Ext.Ajax.on('requestcomplete', myMask.hide, myMask);
Ext.Ajax.on('requestexception', myMask.hide, myMask);
因此,當您在應用程序上有一個進程時(通常在Extjs4中,Ajax會執行所有主要進程),那么您可以獲得整個蒙版的面具。
或者如果不是您的要求,那么您也可以使用以下方法...
setLoading(Boolean / Object / String load,Boolean targetEl):Ext.LoadMask此方法允許您在此組件頂部顯示或隱藏LoadMask。
參數load:Boolean / Object / String為true以顯示默認的LoadMask,將被傳遞給LoadMask構造函數的配置對象,或為顯示的消息String。 False,以隱藏當前的LoadMask。 targetEl:Boolean為true,以屏蔽此Component的targetEl而不是this.el。 例如,在面板上將其設置為true將僅使主體蒙版。 (默認為false)返回Ext.LoadMask剛剛顯示的LoadMask實例。
您可以使用element.loadMask.loading屬性檢查loadMask是否正在加載
xtype: 'button',
handler: function() {
this.setLoading(true);
if (!this.loadMask.loading) {
//click action
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.