如何延迟jQuery .blur函数?

时间:2010-12-21 18:45:03

标签: javascript jquery ajax onblur

我正在使用此代码验证输入字段,但我不希望它在字段失去焦点后将字段从字段中拉出半秒。我怎样才能做到这一点?

$(document).ready(function()
    {
    $("#group_id").blur(function()
    {
    $("#gmsgbox").removeClass().addClass('messagebox').text('Checking...').fadeIn("slow");
            $.post("group_availability.php",{ group_id:$(this).val() } ,function(data)
            {
             if(data=='invalid')
              {
                $("#gmsgbox").fadeTo(200,0.1,function()
                {
                  $(this).html('Please enter a valid Group ID').addClass('messageboxerror').fadeTo(900,1);
                });     
              }
              else
              {
            $("#gmsgbox").fadeTo(200,0.1,function()  //start fading the messagebox
            {
              $(this).html('Group ID available').addClass('messageboxok').fadeTo(900,1);    
            });
             }
            }); 
        });
    });

2 个答案:

答案 0 :(得分:6)

http://api.jquery.com/delay/

$("#group_id").blur(function() {
    $("#gmsgbox").delay(500).queue(function() {
        $("#gmsgbox").removeClass().addClass(//etc...

答案 1 :(得分:0)

试用setInterval(), clearInterval()