a標簽使用href=”javascript:void(0); 在火狐瀏覽器跟chrome 不兼容


使用如下方式的鏈接。在Chrome中點擊后行為符合預期,但在IE下會新開標簽卡(根據參考資料,Firefox中有相同問題)。
<a href=”javascript:void(0);” target=”_blank”>test</a>

后經查找資料,發現需如下解決。
通過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

 

 

 

  1. <a onclick="fn()">Does not appear as a link, because there's no href</a>  
  2. <a href="javascript:void(0)" onclick="fn()">fn is called</a>  
  3. <a href="javascript:undefined" onclick="fn()">fn is called</a>  
  4. <a href="javascript:" onclick="fn()">fn is called too!</a>  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM