我有以下代码,我试图将btn对象传递回调用handleMemberAction的位置,以便可以添加或删除某些类。但我没有运气这样做。怎么办呢?
var handleMemberAction;
handleMemberAction = function(selector, action_path, success_handler) {
return $(document).on("click", ".member-row " + selector, function(e) {
var btn, member_id, request;
btn = $(this);
btn.text(btn.data("loading-text"));
member_id = btn.parents(".member-row").data("id");
request = {
transfer_id: btn.parents(".member-row").data("transfer"),
org_id: $("#club_members").data("org")
};
return SF.action.post("action/transfer/" + action_path, request, success_handler);
});
};
handleMemberAction(".cancel_transfer", "cancel", function(e, btn) {
return btn.removeClass("btn-warning cancel_transfer").addClass("btn-default transfer").text("Transfer");
});
答案 0 :(得分:1)
在传递给post函数的匿名函数中调用success_handler
,而不是直接传递success_handler
。然后,您可以将所需的任何内容传播到调用handleMemberAction
时指定的回调。
return SF.action.post("action/transfer/" + action_path, request, function (postCallbackData) {
success_handler(postCallbackData, btn);
});
注意,我不确定SF.action.post调用你的函数是什么,但是我假设第一个参数是正确的,我只是传递了它。