关于ie6的a标签的那点事

来源:互联网 发布:数据资源共享合作协议 编辑:程序博客网 时间:2024/06/07 14:34

遇到一个很郁闷的问题,为了方便写了一段这样类型的html+js:

<a onclick="hello();" href="javascript:void(0)" >hello</a><script>function hello(){    /*do something*/}</script>
在chrome和firfox、ie7、8都没问题,但是在ie6上面点击事件触发后hello函数不执行。

没办法只好做了个测试,用htmlwatch查看,发现在ie6上面hello里面的网络请求全都被阻止了,不执行了

搞了几个测试之后,我发现:

a标签click事件触发的顺序是先触发onclick事件然后再触发href,但是在ie6中,如果href为javascript:void(0)的话,点击之后hello函数没有触发,而且url变成了javascript:void(0)

也就是说ie6先触发了href链接然后再触发click事件,但是我们将href写成javascript:void(0)也就是相当于写了一个return false(个人理解,是不是这样有待考究)这样终止了事件的冒泡也就是click只触发了href而后就被终结

然后我将href换成href="#",点击,这次就触发了click事件,但是在ie test中的ie6还是一样不触发,但是有没有报错,这大概是跟ie test的内核有关吧。。。



0 0
原创粉丝点击