阻止a連接跳轉方法總結

總結下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>
相關文章
相關標籤/搜索