2

私はajaxSubmitを使用しています。

form.ajaxSubmit(successCallback);

successCallback のラッパーを作成する必要があります。

これを行う方法?

私は試した

form.ajaxSubmit(wrapperCallBack(successCallback));

var wrapperCallBack = function (successCallback) {
        debugger;
        changeState(false);
        successCallback(this);
    };
4

1 に答える 1

7

あなたはかなり近いです:

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);
});
于 2013-03-29T12:08:56.857 に答える