Событие обратного вызова jQuery - PullRequest
0 голосов
/ 18 августа 2011

Я разрабатываю простую систему кодирования, которая использует jquery для обновления изображения, если оно не читается.

$('a#reload').click(function(){

    $(this).removeClass('reload').addClass('reloading');

    var ts = Math.round((new Date()).getTime() / 1000);

    $('div#captcha-image img').attr('src', 'captcha/captcha.php?t=' + ts);

    $('input#captcha').focus();

});

Этот код делает все, кроме сброса кнопки перезагрузки в исходное состояние.

Я хочу сделать эту функцию после всего вышеперечисленного, как функцию обратного вызова в ajax.

$(this).removeClass('reloading').addClass('reload');

Эта функция сбрасывает кнопку перезагрузки в исходное нормальное состояние, так как ее вызывать после того, как все пройдет.

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Вам необходимо добавить:

 $('div#captcha-image img').load(function(){
     $(a#reload).removeClass('reloading').addClass('reload');
 });

Так что, если ваше изображение является допустимым изображением и загружено, тогда .load () будет ждать, пока это будет сделано, чтобы вызвать обратный вызов и изменить ссылку.*

1 голос
/ 18 августа 2011
$('a#reload').click(function(){

    $(this).removeClass('reload');

    var ts = Math.round((new Date()).getTime() / 1000);

    $('div#captcha-image img').attr('src', 'captcha/captcha.php?t=' + ts);

    $('input#captcha').focus();

    $(this).removeClass('reloading').addClass('reload');
});

Это кажется тривиальным, поэтому я не уверен, что полностью понимаю вопрос.

...