有时候,我们期望一些提交操作自动增加遮蔽效果,提交成功时自动去除遮蔽。
方案:
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'); } });