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

From:http://hi.baidu.com/lane727/blog/item/1fb2698d4a0f9ae2f01f36b3.html

经常有如下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属性中的代码,这样就可以让浏览器顺利跳转。

 

你可能感兴趣的:(JavaScript)