-1

我使用 jquery 1.3.2 并且正在修改购物车模块以更好地满足我的需要。我找到了一个我认为应该是我正在寻找的功能。

function ajaxCartReloadCartView() {
  if (jQuery('#cart-form-pane').length) { 
    jQuery('#cart-form-pane').parent().load(Drupal.settings.uc_ajax_cart.SHOW_VIEW_CALLBACK, ajaxCartReloadCartViewSuccess );
  }
}

是否可以在函数 ajaxCartReloadCartViewSuccess 之前和之后插入代码?例如,我需要插入此代码 $("#cart-block-contents-ajax").removeClass("xxx");

4

1 回答 1

0

最简单的方法就是用闭包包装函数。像这样:

function ajaxCartReloadCartView() {
  if (jQuery('#cart-form-pane').length) { 
      jQuery('#cart-form-pane').parent().load(Drupal.settings.uc_ajax_cart.SHOW_VIEW_CALLBACK, 
          function (response,status,xhr) {
             $("#cart-block-contents-ajax").removeClass("xxx");
             ajaxCartReloadCartViewSuccess(response,status,xhr);
             // some other code
          });
      }
  }
}

这样您就不必修改原始的ajaxCartReloadCartViewSucces函数。

编辑:我不知道你在这个成功函数中到底在处理什么,我从 jQuery 文档中获取了那些参数(响应、状态、xhr)。

于 2012-11-30T19:25:41.120 回答