我使用ajaxSubmit。
form.ajaxSubmit(successCallback);
我需要为successCallback创建包装器。
怎么做?
我试过
form.ajaxSubmit(wrapperCallBack(successCallback));
var wrapperCallBack = function (successCallback) {
debugger;
changeState(false);
successCallback(this);
};
答案 0 :(得分:6)
你非常接近:
form.ajaxSubmit(wrapperCallBack(successCallback));
var wrapperCallBack = function (successCallback) {
return function() {
changeState(false);
return successCallback(this);
};
};
或者我更喜欢写它:
form.ajaxSubmit(wrapperCallBack(successCallback));
function wrapperCallBack(successCallback) {
return function() {
changeState(false);
return successCallback(this);
};
}
在那里,wrapperCallback
创建一个函数来包装它的参数(successCallback
参数)并返回该函数。
这两个假设您将使用wrapperCallBack
多次创建包装器。如果你只需要一次性,那么你可以使用内联匿名函数:
form.ajaxSubmit(function() {
changeState(false);
return successCallback(this);
});