提交操作自动遮蔽实现之ajax

有时候,我们期望一些提交操作自动增加遮蔽效果,提交成功时自动去除遮蔽。

方案:

  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');
  }
});

 

posted @ 2018-08-06 16:40  【云】风过无痕  阅读(121)  评论(0编辑  收藏  举报