简体   繁体   English

如何延迟jQuery .blur函数?

[英]How can I delay a jQuery .blur function?

I'm using this code to validate an input field, but I don't want it to pull the text from the field until half a second after the field loses focus. 我正在使用此代码来验证输入字段,但我不希望它在字段失去焦点后将字段从字段中拉出半秒。 How can I do that? 我怎样才能做到这一点?

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

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

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

尝试通过setInterval(), clearInterval()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM