我使用 ajaxSubmit。
form.ajaxSubmit(successCallback);
我需要为 successCallback 创建包装器。
如何做到这一点?
我试过了
form.ajaxSubmit(wrapperCallBack(successCallback));
var wrapperCallBack = function (successCallback) {
debugger;
changeState(false);
successCallback(this);
};
最佳答案
你非常接近:
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);
});
关于javascript - 如何为回调创建包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702873/