A链接href="javascript:void(0);"在IE6下导致js跳转失败

经常有如下JS跳转写法:

<a href="javascript:void(0);" onclick="javascript:location.replace ('http://www.baidu.com/');">test js location.replace()</a>
<a href="javascript:void(0);" onclick="javascript:location.href ='http://www.baidu.com/';">test js location.replace()</a>

经测试,在IE6下上述两种JS跳转履行无响应,其它浏览器下均正常。细心解析,猜测IE6下a链接的跳转会收到href属性中代码的影响,上述代码的履行过程,貌似是先履行 onclick事务中的代码,并且是在onclick事务的回调函数返回true 的景象下,再履行href属性中的代码,然后才作出跳迁移转变作。而恰是void(0);代码阻拦了浏览器跳转,所以在onclick的代码最后,加上return false; 让onclick回调函数返回false值,以阻拦履行 href属性中的代码,如许就可以让浏览器顺利跳转。

<a href="javascript:void(0);" onclick="javascript:location.replace ('http://www.baidu.com/'); return false;">test js location.replace()</a>
<a href="javascript:void(0);" onclick="javascript:location.href ='http://www.baidu.com/'; return false;">test js location.replace()</a>
posted @ 2012-04-12 15:43  纯属偶然_黄勇  阅读(1192)  评论(0编辑  收藏  举报