jQuery blur()方法会执行2次onblur方法

今天在处理html页面时遇到一个问题,表单提交前想通过jQuery.blur()来验证表单数据的填写的规范性。
可是jQuery.blur()执行时每次都被执行2次,下面是简单的测试验证代码。

<html>
<head>
<script  src="http://libs.baidu.com/jquery/1.8.0/jquery.min.js"></script>
</head>
<body>
<input id="usr_pw" onblur="console.log('configPw');"/>
</body>
</html>

在firefox或者IE的控制器中执行脚本jQuery(‘#usr_pw’).blur(),会输出2次configPw信息。
查明后发现是jquery的版本bug…^ ^

jQuery 1.7或者1.8的版本都有这个bug,1.6的没问题,其他版本没有详细测试了。
修改使用如下的jquery版本(1.6.4),执行后就没有问题,只调用1次。

<html>
<head>
<script  src="http://libs.baidu.com/jquery/1.6.4/jquery.min.js"></script>
</head>
<body>
<input id="usr_pw" onblur="console.log('configPw');"/>
</body>
</html>

最后在jquery官方上找到了依据,记载下来。
http://forum.jquery.com/topic/onblur-event-triggered-twice

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章