代码如下

$("#username").blur(function(){
        alert("ass");//鼠标点击Blur 按tab键在第一次的时候没有触发
        $.getJSON("send.php?action=get_&n="+Math.random(),function(data) {
            if (data.res!=="none"){
                  
              setTimeout("$('#gb_tip_layer').hide('100');",5000); 
             }
        });
         
    });
 
<input name="username" type="text" class="text-input" id="username"/>
登录后复制

我想实现的效果就是当 username 这个文本框blur的时候触发一个请求查询。可问题是,无论是鼠标点击了页面其他地方还是按TAB键到下个表单项,blur事件绑定的函数都不会被触发。只有再次点击的时候才会触发blur,请问这是怎么个情况啊?该如何解决呢? 谢谢了!

blur是事情焦点触发的,只要光标冲username文本域离开就触发

blur事件触发首先需要焦点在这个控件上,当这个控件失去焦点时才会触发,不知道楼主如何理解这个事件的?

你先把

$.getJSON("send.php?action=get_&n="+Math.random(),function(data) {
            if (data.res!=="none"){
                 
              setTimeout("$('#gb_tip_layer').hide('100');",5000); 
             }
        });
登录后复制

这一段去掉试一下看功能正常不

我想要的就是当输入完 username中的数值,焦点移到下一个文本框时候 触发一个函数检测 username中的数据是否存在。。。

郁闷的是,第一次 blur 没有触发绑定的函数,当第二次blur的时候才有效果.....

$("document").ready(function validate(){  }
登录后复制

代码放在ready里就可以了

忘了说明了,$("#username") 是放在div弹层里的,用$("document").ready(function validate(){ }
就找不着了。。

以上就是jquery blur不触发的问题解决办法分享的详细内容,更多请关注Work网其它相关文章!

09-16 14:10