jQuery BlockUI插件 - 如何在Unblock发生时设置回调函数

时间:2011-11-03 14:30:37

标签: jquery

我正在使用jquery BlockUI插件。我想找到一种方法让回调函数在解锁后调用。

这是我的代码

$.ajax({
    type: "POST",
    url: "UPSLabelFormUS.aspx/ProcessInfo",
    data: JSON.stringify(DTO),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {
        if (data.d[0].Message == "SUCCESS") {
            var _images = [data.d[0].LabelImagePath];
            $.each(_images, function (e) {
                $(new Image()).load(function () {
                    ImgPath = data.d[0].LabelImagePath;
                    _TrackNumber = data.d[0].TrackNumber;
                    $('#imgHolder').html("<img src='" + data.d[0].LabelImagePath + "' width='330' height='498' border='0'  />").fadeIn().show('slow');
                    $("#Print").show();
                    $("#Fax").show();
                    $('div#content').unblock();

                }).attr('src', this);
            });
        }
        else {
            $('div#content').unblock();
            alert(data.d[0].Message);
        }
    }
                ,
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        $('div#content').unblock();
        alert(textStatus);
    }
});

这里我需要通知。

else {
            $('div#content').unblock();
            alert(data.d[0].Message);
        }

解锁后我需要通过回调通知,所以请告诉我使用unblock进行回调功能的方法。感谢

2 个答案:

答案 0 :(得分:7)

您可以像这样指定回调方法:

$('div#content').unblock({
    onUnblock: function() { alert(data.d[0].Message); }
});

答案 1 :(得分:0)

您可以将代码放在函数中并将回调传递给它:

function someNmae (fn){
    ...
    else {
        $('div#content').unblock();
        alert(data.d[0].Message();

        // Execute Callback Function//
        if (typeof fn == 'function') {
            fn.call(this);
        }
    }
    ....
}

// Run Function w/ Callback //
someName(function(){
    // Callback Code Here //
});

编辑:

根据documentation,有一个名为onUnblock的设置,您可以在其中传递一个标准函数,以便在每个解块上运行,如下所示:

$.blockUI({
    onUnblock : function(){
        // Callback Function Here //
    }
});

我希望这有帮助!