Rumah >hujung hadapan web >tutorial js >jquery blur不触发的问题解决办法分享

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

黄舟
黄舟asal
2017-06-26 14:19:063051semak imbas

代码如下

$("#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("$(&#39;#gb_tip_layer&#39;).hide(&#39;100&#39;);",5000); 
             }
        });

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

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

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

$("document").ready(function validate(){  }

代码放在ready里就可以了

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

Atas ialah kandungan terperinci jquery blur不触发的问题解决办法分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn