如何确定Component是否有活动的LoadMask?

s.w*_*dit 3 extjs

我有一个窗口和一个表单,其中将LoadMask放在其提交上.在提交过程中,我抓住ESC关键按下窗口,不允许用户在表单提交期间关闭它.

如何确定是否有表单活动LoadMask?

也许像商店isLoading()方法?

Krz*_*tof 9

如果你掩饰Element(例如grid.getEl().mask())那么有这样的方法:grid.getEl().isMasked().如果你使用,LoadMask那试试这个:

var myMask = new Ext.LoadMask(grid, {msg:"Please wait..."});
myMask.show();

Ext.ComponentMgr.each(function(i, value){
    if ((value instanceof Ext.LoadMask) && value.isVisible() && 
        (value.ownerCt === panel || value.floatParent == panel))
    {
        alert('masked');
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

工作样本:http://jsfiddle.net/Hsy5c/8/