禁止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); //阻止事件冒泡