jQuery回调事件

时间:2011-08-18 17:00:39

标签: jquery callback jquery-callback

我正在开发一个简单的验证码系统,如果不可读,则使用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 个答案:

答案 0 :(得分:1)

$('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');
});

这似乎微不足道,所以我不确定我是否完全理解这个问题。

答案 1 :(得分:1)

您需要添加:

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

因此,如果您的图像是有效图像并且已加载,那么.load()将一直等到调用回调并更改链接。