在不同的场景中使用jQuery ajaxStart和ajaxStop事件

时间:2013-08-20 08:46:09

标签: jquery ajax

为了显示加载微调器,我使用了jQuery ajaxStart和ajaxStop事件,如下所示:

$(document).ajaxStart(function () {
        //some operations ....
    });

如果我使用此代码,我的所有ajax操作都具有相同的微调器和代码。 我有两个带有“.btnOne”和“.btnTwo”类的按钮。这两个按钮在jQuery中加载一个带有load()函数的页面。我希望这些ajax操作有不同的加载微调器。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

您可以创建全局变量,例如clickedButtonClass,并在调用$ ajax()之前将其设置为按钮的单击处理程序中单击的按钮的类。然后在ajaxStart事件处理程序中检查此变量。

var clickedButtonClass;

$('.btnOne').click(function() {
  clickedButtonClass = 'btnOne';
  // do ajax call
  $.ajax({
    ...
  });
});

$('.btnTwo').click(function() {
  clickedButtonClass = 'btnTwo';
  // do ajax call
  $.ajax({
    ///...
  });
});

$(document).ajaxStart(function () {
  if(clickedButtonClass === 'btnOne') {
    //some operations ....
  } else {
    //....
  }

});