e.preventdefault() 别滥用

有的时候我们会为事件回调函数添加一个参数(通常是e),并在函数中加入e.preventdefault();以取消默认行为。由于习惯,我顺手将它写到了一个checkbox的change事件中。由于不同的浏览器解释不同,在IE8上出现了一个bug:change事件能进入,但是UI显示上不能讲复选框的选中状态重绘。

分析原因,是我的e.preventdefault()阻止了状态重绘。去掉后,就好了。

e.preventdefault()会阻止什么:

checkbox 、radio的状态变化(并非所有浏览器)。

a标签的跳转

表单的提交

原文地址:https://www.cnblogs.com/webARM/p/3979743.html