我正在使用ExtJS 4.我的要求是当我显示加载掩码时,应忽略用户点击。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以按如下方式在文档正文中设置加载掩码...
//在所有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.例如,在Panel上将此设置为true将导致仅屏蔽正文。 (默认为false) 返回 Ext.LoadMask 刚刚显示的LoadMask实例。
答案 1 :(得分:0)
您可以使用element.loadMask.loading属性
检查loadMask是否正在加载xtype: 'button',
handler: function() {
this.setLoading(true);
if (!this.loadMask.loading) {
//click action
}
}