簡體   English   中英

顯示負載掩碼時如何禁用用戶操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM