0

每当像这样发生 jquery ajax 请求时,我目前正在显示一个 ajax 加载图像:

$(document).ajaxStart(function () {
 $(".ajaxLoadingIndicator").show();
  });

$(document).ajaxStop(function () {
  $(".ajaxLoadingIndicator").hide();
 });

我可以将它放在一个全局 JS 文件中,并在每个页面上都有它。现在让这种行为在某些时候被覆盖是很明智的。子视图或页面可能会执行附加逻辑或完全替换当前逻辑。目前我正在做这样的事情:

//全局js文件

var shsGlobal = new Globals();

function Globals() {

}

Globals.prototype.ajaxLoaderStart = function () {
    $(".ajaxLoadingIndicator").show();
}

Globals.prototype.ajaxLoaderStop = function () {
    $(".ajaxLoadingIndicator").hide();
}


$(document).ajaxStart(function () {
shsGlobal.ajaxLoaderStart();
});

$(document).ajaxStop(function () {
shsGlobal.ajaxLoaderStop();
});

在不同的页面上,我可能会这样做:

   shsGlobal.ajaxLoaderStart = function () {
    //additional logic here...

    //base method
    Globals.prototype.ajaxLoaderStart.call();
}

由于我没有做那么多javascript,我不确定这是否有点不稳定。不过,它有效。

4

0 回答 0