<input type="checkbox"/>
<script type="text/javascript">
$(":checkbox").click(function(){
alert($(this).is(":checked"));
});
</script>手动点击checkbox触发click事件一切正常,改用jQuery触发click事件就不正常了:
setInterval("$(':checkbox').click();", 2000);页面总是先alert然后checkbox状态才改变,顺序反了,表现很怪异:明明alert显示的是false但checkbox却是选中状态,正常应该先checkbox状态变为选中然后alert显示true才对,查了下原因:
jQuery低版本在模拟点击时,首先触发click回调函数,回调函数执行完后再去修改checkbox的状态。
最终解决方法:
改用change事件 或 升级jQuery到1.9.0(含)以上版本 都可解决!!!
评论(0)
暂无评论。