有时候,我们期望一些提交操作自动增加遮蔽效果,提交成功时自动去除遮蔽。
方案:
1、 提交前增加遮蔽逻辑,成功后增加去除遮蔽逻辑,但是不够智能
2、通过ajax拦截,实现自动添加\去除遮蔽效果
ajax拦截实现
$(document).ajaxSend(function(event,xhr,settings){
var keys = 'add|save|submit|update', /* 地址关键字,自行扩展,以竖线分隔 */
regstr = '\\S*('+key+')[A-Za-z0-9-_]*.(do|action)', /* 后缀可以自行调整 */
urlReg = new RegExp(regstr,'gi');
if(urlReg.test(settings.url)){ /* url满足关键字匹配 */
settings.isSave = true; /* 标识是否提交操作 */
$('#mainpage').addClass('loading'); /* 增加遮蔽效果 */
}
}).ajaxComplete(function(event,xhr,settings){
if(settings.isSave) {
$('#mainpage').removeClass('loading');
}
});