在.load中插入代码

时间:2012-11-30 19:17:03

标签: javascript jquery

我使用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”);

1 个答案:

答案 0 :(得分: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)。