2011-10-19 61 views

回答

0

您可以檢查loadMask通過使用element.loadMask.loading財產

xtype: 'button', 
handler: function() { 
    this.setLoading(true); 
    if (!this.loadMask.loading) { 
     //click action 
    } 
} 
+0

感謝您的輸入。讓我詳細說明我的要求。當某個動作正在進行時,我掩蓋了整個視口。在此期間,如果用戶單擊了屏幕上的任何位置,則應該忽略它們。在我的頁面上有很多標籤和其他元素,用戶點擊所有這些元素不應該排隊。基於你的建議,我必須去每個元素來完成這一點。我正在尋找在顯示視口掩碼時禁用用戶點擊的集中方式 – NeatCoder

+2

在視口上使用setLoading(true)會掩蓋整個屏幕,並且視口內的元素不應該是可點擊的。至少當我測試時他們不是。 Ext.getCmp( '視')setLoading(真)。 –

1

您可以設置文檔正文中的loadmask如下加載...

//顯示了在一個微調所有Ajax請求 var myMask = new Ext.LoadMask(Ext.getBody(),{ msg:「Please wait ...」 });

// 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(布爾/對象/字符串負載,布爾targetEl):Ext.LoadMask 這種方法允許你顯示或隱藏一個LoadMask在這個組件之上。

參數 load:Boolean/Object/String true表示默認的LoadMask,將傳遞給LoadMask構造函數的配置對象或要顯示的消息字符串。 False隱藏當前的LoadMask。 targetEl:布爾型 正確來掩蓋此Component的targetEl而不是this.el.例如,在Panel上將其設置爲true將導致只有主體被屏蔽。 (默認爲false) 返回 Ext.LoadMask 剛剛顯示的LoadMask實例。

相關問題