總結下a標簽阻止默認行為的幾種簡單方法
(1) ?
<a href="javascript:void(0);" > 點我 </a>
onclick方法負責執行js函數,而void是一個操作符,void(0)返回undefined,地址不發生跳轉。
<a href="javascript:;" > 點我 </a>
和void(0)一樣,都返回"undefined"
?(2)?
<a href="#"> 點我 </a>
是網上很常見的代碼,#是標簽內置的一個方法,用這種方法點擊后網頁后返回到頁面的最頂端所以又有了“##”“#!”等,盡管解決了返回頂部的問題但仍存在其他缺陷
?(3)事件處理函數的工作機制中,在給某元素添加事件處理函數后,一旦事件發生,相應JavaScript代碼就會執行,所調用的JavaScript代碼的返回值被傳遞給事件處理函數。當我們給a標簽添加onclick事件處理函數并點擊a觸發其后,
如果相應JavaScript代碼返回true,onclick事件處理函數就會認為這個鏈接唄點擊了,同樣的若返回false即會認為鏈接
未被點擊
<a href="http://www.baidu.com" οnclick=" myjs(); return false; "> 點我 </a> <a href="http://www.baidu.com" οnclick=" return false; "> 點我 </a>
當點擊a標簽時,JavaScript代碼返回值為false,故此鏈接默認行為未被觸發。
?(4)preventDefault()阻止事件的默認行為但不支持IE,所以在IE中使用returnValue阻止事件默認行為? ?
<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>