0

次のコードは正常に動作しますが、setTimeout() が使用されているため、適切に記述されていません。

他のコードを実行する前に、2 つの .ajaxFormUnbind() 関数を終了する必要があります。遅延またはコールバックがないと、.ajaxFormUnbind() が完了する前に .remove() が発生します。

    $('#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 - このフォームのバインドを解除するにはどうすればよいですか

4

1 に答える 1

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);
};

そして、2番目のコードで試したように使用してください。

于 2013-11-07T10:02:05.233 に答える