How create wrapper for callback?

javascript, jquery, jquery-forms-plugin

Solution

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);
});

Problem

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); }; ```

Original source