原文地址:http://www.imeetyou.net/article.asp?id=447
關於IE6下 window.location.href 的跳轉無效
近日用到JS,發現在IE6下 window.location.href="";會出現跳轉無效
當滑鼠點擊到相應的操作上時,沒有反映,於是做了如下實驗;
第一種方法,全部事件寫入到相應的操作上。
<a href="javascript:void(0);" onclick="goUrl()">跳轉1</a><a href="javascript:void(0);" onclick="goUrl(); return false;" >跳轉2</a><a href="#" onclick="goUrl()" >跳轉3</a><a href="###" onclick="goUrl()" >跳轉4</a><script type="text/javascript">function goUrl() { window.location.href="http://www.imeetyou.net";}</script>
如上,跳轉1,IE6, 無法跳轉,
跳轉2、跳轉3、跳轉4均可以正常跳轉;
注意,如果將2的 return false; 去掉,放入到 goUrl 中 也是無效的;
第二種,從DOM中擷取要綁定事件的節點,綁定要執行的事件;
<a href="javascript:void(0);" >跳轉1</a><a href="" >跳轉2</a><a href="#" >跳轉3</a><a href="###" >跳轉4</a><script type="text/javascript">var as = document.getElementsByTagName('a');for (var i=0;i<as.length;i++) { as[i].onclick=function() { window.location.href="http://www.imeetyou.net"; return false; }}</script>
可以看到,第二種綁定事件方式,對 a 上的 href 無要求。各瀏覽器下執行情況也良好
所以,首先推薦擷取節點的事件綁定方式。