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

时间:2012-09-17 08:16:07

标签: extjs

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

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

也许像商店isLoading()方法?

1 个答案:

答案 0 :(得分: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;
    }
});

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