jquery中focus()失效怎么解决

又学到一个新的知识!

今天在写表单验证的时候遇到一个关于获取焦点的focus()问题。

场景说明:在验证密码输入格式不对之后,弹出alert()提示框,提示密码不对,请重新输入。同时清空密码框并获得焦点,代码如下:

 

查了好久的资料才找到一个原因,原来这是由于FF和IE的关于blur和focus的机制不一样,FF的focus只能在blur之前。所以用settimeout()做了一个延迟处理,代码如下:

(为了加强效果,在密码框获得焦点之后,加了个CSS边框进去)

这样修改了之后,就可以实现想要的效果了!

 

解决办法参考:http://my.oschina.net/justdo/blog/125643?fromerr=d7Rc0tSP

posted @ 2016-02-22 21:30  涵语独醉  阅读(887)  评论(0编辑  收藏  举报