總結下a標籤阻止默認行爲的幾種簡單方法
(1) javascript
<a href="javascript:void(0);" > 點我 </a>
onclick方法負責執行js函數,而void是一個操做符,void(0)返回undefined,地址不發生跳轉。java
<a href="javascript:;" > 點我 </a>
和void(0)同樣,都返回"undefined"函數
(2) spa
<a href="#"> 點我 </a>
是網上很常見的代碼,#是標籤內置的一個方法,用這種方法點擊後網頁後返回到頁面的最頂端因此又有了「##」「#!」等,儘管解決了返回頂部的問題但仍存在其餘缺陷code
(3)事件處理函數的工做機制中,在給某元素添加事件處理函數後,一旦事件發生,相應JavaScript代碼就會執行,所調用的JavaScript代碼的返回值被傳遞給事件處理函數。當咱們給a標籤添加onclick事件處理函數並點擊a觸發其後,blog
若是相應JavaScript代碼返回true,onclick事件處理函數就會認爲這個連接唄點擊了,一樣的若返回false即會認爲連接
未被點擊
事件
<a href="http://www.baidu.com" onclick=" myjs(); return false; "> 點我 </a> <a href="http://www.baidu.com" onclick=" return false; "> 點我 </a>
當點擊a標籤時,JavaScript代碼返回值爲false,故此連接默認行爲未被觸發。ip
(4)preventDefault()阻止事件的默認行爲但不支持IE,因此在IE中使用returnValue阻止事件默認行爲 get
<a href="http://www.baidu.com" id="test"> 點我 </a> <script type="text/javascript"> var test = document.getElementById('test'); function stopDefault( e ) { if ( e && e.preventDefault ) e.preventDefault(); else window.event.returnValue = false; } test.onclick = function(e) { stopDefault(e); } </script>