我有以下代码可以正常工作但由于使用了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()以查看代码进度并且没有输入。
任何想法?三江源
答案 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);
};
并像在第二段代码中尝试一样使用它。