欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jquery blur不触发的问题解决办法分享

程序员文章站 2022-04-11 11:17:00
...
代码如下
$("#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不触发的问题解决办法分享的详细内容,更多请关注其它相关文章!