原因对于一个标签的点击事件,可能我们早就习惯这样写href="javascript:void(0);"然后绑定点击事件来处理,但是今天在IE8浏览器下的某个页面遇到了一个很奇怪的问题。如果我们点击其中一个a标签,JavaScript中的click事件执行后,页面中的input使用$('input')。()之后相关输入的字段也没有值。就这样开始了折腾之路。折腾之路用了各种方法获取值,就是获取不到input输入框的值。一直以为是获取值的方法有问题,但是一直折腾无果,因为在其他浏览器下都是正常的。如果不点击相关的a标签,可以获取input输入框的值。另一个有placeholder处理的页面,点击a标签后,input中的placeholder值没有了,因为IE8下的placeholder需要绑定相关事件,所以可以断定点击a标签后,页面可能会被刷新.果然,即使a标签的href属性写成javascript:void(0);在IE8下还是会导致页面进行页面刷新操作。解决方案在此类标签的每个点击事件中,添加e.preventDefault()以阻止默认事件。潜在风险添加这行代码后,有些想跳转的a标签可能跳不出来,这时需要判断事件下的href,或者判断href是否满足直接跳转的条件,再分别进行阻止默认事件的处理。Diboot-简单高效的轻代码开发框架
