我具有以下功能。
function ChangeDasPanel(controllerPath, postParams) {
$.post(controllerPath, postParams, function(returnValue) {
$('#DasSpace').hide("slide", { direction: "right" }, 1000, function() {
$('#DasSpace').contents().remove();
$('#DasSpace').append(returnValue).css("display", "block");
$('#DasSpace').show("slide", { direction: "right" }, 1000);
});
});
};
但我希望能够这样称呼它
ChangeDasPanel("../Home/Test", {} ,function (){
//do some stuff on callback
}
如何在函数中实现对回调的支持?
最佳答案
function ChangeDasPanel(controllerPath, postParams, f) {
$.get(
controllerPath,
postParams,
function(returnValue) {
var $DasSpace = $('#DasSpace');
$DasSpace.hide(
"slide", { direction: "right" }, 1000,
function() {
$DasSpace.contents().remove();
$DasSpace.append(returnValue).css("display", "block");
$DasSpace.show("slide", { direction: "right" }, 1000);
}
);
if (typeof f == "function") f(); else alert('meh');
}
);
};
您可以像在JavaScript中传递任何其他对象一样传递函数。传递回调函数很简单,您甚至可以在ojit_code调用中自己进行。
您可以决定是将回调作为
$.post()
回调的一部分还是单独调用。