jquery的blur之后,focus获取不到焦点的解决办法
一:很多童鞋可能会遇到这种情况:
二:使用场景:
用户填写信息的时候,若邮箱为空,则提示 请填写邮箱,并将光标置于填写邮箱的文本框里,方便用户的再次输入。
$("#email").blur(function(){ if($("#email").val()==‘‘){ alert(‘请填写您的邮箱‘); $("#email").focus(); } })
三:代码解释:
四:那么你肯定就会想到了,这又是一个兼容的问题了。
五:出现问题的原因应该是FF和IE的关于blur和focus的机制不一样导致。
FF的focus只能在blur之前。
六:那么该怎么解决这个bug呢?
修改代码如下:
$("#email").blur(function(){ if($("#email").val()==‘‘){ alert(‘请填写您的邮箱‘); //$("#email").focus(); window.setTimeout (function(){ document.getElementById (‘email‘). select();},0 ); } })
七:分别在IE和FF上面运行,完美兼容。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。