最近做项目的时候发现了一个问题,在document
上绑定clcik
事件后,input type
为checkbox
或radio
的状态不会改变,但是绑定的事件会执行,Demo如下:
可以看到,在执行完$(this).attr('checked',true);
后到alert
时,checkbox
的状态是选中的,而且弹出的状态也是checked
,也就是说,这个时候,checkbox
是选中的。但是为什么我们在点击确定之后,checkbox
又变回了未选中了呢?在相应事件结束之后,一定还有什么东西让它改回去了?其实,这是checkbox
的默认click
事件的做的。也许大家会问,我不是通过e.preventDefault()
把默认事件去掉了吗?为什么还有默认事件?难道e.preventDefault()
没有生效?