I use ajaxSubmit.
form.ajaxSubmit(successCallback);
I need create wrapper for successCallback.
How to do this?
I tried
form.ajaxSubmit(wrapperCallBack(successCallback));
var wrapperCallBack = function (successCallback) {
debugger;
changeState(false);
successCallback(this);
};
You're pretty close:
form.ajaxSubmit(wrapperCallBack(successCallback));
var wrapperCallBack = function (successCallback) {
return function() {
changeState(false);
return successCallback(this);
};
};
Or as I would prefer to write it:
form.ajaxSubmit(wrapperCallBack(successCallback));
function wrapperCallBack(successCallback) {
return function() {
changeState(false);
return successCallback(this);
};
}
There, wrapperCallback
creates a function to wrap around its argument (the successCallback
argument) and returns that function.
Both of those assume you're going to use wrapperCallBack
to create wrappers more than once. If you only need a one-off, then you can just use an inline anonymous function:
form.ajaxSubmit(function() {
changeState(false);
return successCallback(this);
});