需要CallBack函数 - .ajaxFormUnbind()

时间:2013-11-07 09:42:42

标签: jquery callback

我有以下代码可以正常工作但由于使用了setTimeout()而写得不好。

我需要在其他代码运行之前完成2 .ajaxFormUnbind()函数。没有延迟或回调,.remove()发生在.ajaxFormUnbind()完成之前。

    $('#joinPhotoUploadFormProfile').ajaxFormUnbind();
    $('#joinPhotoUploadFormGallery').ajaxFormUnbind();


    setTimeout(function(){
        $('#profileEditPrimaryPhotoManagementGifIMG').hide();
        hidePopUp('profile_photo_management');
        $('#profile_photo_management').remove();
    }, 10000);

我尝试了这个,但它并没有解决:

$('#joinPhotoUploadFormProfile').ajaxFormUnbind(function() {
            $('#profileEditPrimaryPhotoManagementGifIMG').hide();
            hidePopUp('profile_photo_management');
            $('#profile_photo_management').remove();
});

有没有办法让回调适用于.ajaxFormUnbind()?当我尝试上述操作时,它没有进入该功能 - 输入alert()以查看代码进度并且没有输入。

任何想法?三江源


功能来自:jquery.form.js - how can I unbind this form

1 个答案:

答案 0 :(得分:1)

你的插件(老实说有点老)在你想要使用的功能中不使用回调:

// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function() {
    return this.unbind('submit.form-plugin click.form-plugin');
};

无论如何,您可以像这样修改它:

// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function(callback) {
    callback = callback || function(){};
    return this.unbind('submit.form-plugin click.form-plugin', callback);
};

并像在第二段代码中尝试一样使用它。