js阻止默認事件,如a標簽跳轉和事件冒泡


禁止a標簽點擊跳轉

在事件執行過程中使用  return false  提前終止事件,例:

  

<a href="http://baidu.com" onclick="return fasle">點我啊</a>

原理是當點擊a標簽時首先觸發onclick函數,然后才執行href的跳轉。但是在執行到return false的時候直接終止了執行,也就沒有了鏈接的跳轉。

目前疑問是return false 和 return true 以及 return的作用都是結束當前函數的執行並分別返回 false, true, undefined。但是如果把a標簽onclick函數換成return 或return true后還是會執行頁面跳轉的。

因此,初步推斷當執行完onclick事件后會根據返回值進行下一步操作,比如如果是false就終止當前事件的繼續執行。

當然還可以通過這樣設置  href="javascript:void(0);" 來防止超鏈接跳轉。

 

阻止默認事件以及事件冒泡

禁止事件傳輸過程中的冒泡,IE和其它瀏覽器的方式不同,代碼如下:

var evt = evt || window.event; //獲取event對象
    if (evt.preventDefault) {
        evt.preventDefault(); //非IE瀏覽器
   } else {
        evt.returnValue = false; //在早期的IE版本中
  }
event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true); //阻止事件冒泡

 


免責聲明!

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



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