代码如下
$("#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不触发的问题解决办法分享的详细内容。