1. 程式人生 > >關於火狐和IE下href相容性的問題

關於火狐和IE下href相容性的問題

在Chrome中點選後行為符合預期,但在IE下會新開標籤卡(根據參考資料,Firefox中有相同問題)。
<a href=”javascript:void(0);” target=”_blank”>test</a>.火狐和IE會彈出空白頁。
經過排查,發現是href="javascript:void(0);"導致的問題,本來javascript:void(0);的用處是不用整體重新整理網頁且返回一個空值,但這兒由於DOM本身的冒泡事件所以會最後執行HREF屬性內的javascript:void(0);導致執行函式返回了一個空值,所以覆蓋掉了前面正常執行函式所返回的值引起的錯誤。
後經查詢資料,發現需如下解決。
通過onclick阻止瀏覽器預設事件:<a onclick=”return false;” href=”javascript:void(0);” target=”_blank”>test</a>
或直接:<a target=”_blank”>test</a>
原因在於三款瀏覽器,對三個屬性的處理順序不同。
Chrome順序:onclick -> href -> target
IE和Firefox順序:onclick -> target -> href