天天看點

js 停止事件冒泡 阻止浏覽器的預設行為

在前端開發工作中,由于浏覽器相容性等問題,我們會經常用到“停止事件冒泡”和“阻止浏覽器預設行為”。

浏覽器預設行為:

在form中按Enter鍵就會送出表單;單擊滑鼠右鍵就會彈出context menu.

a标簽

1..停止事件冒泡

JavaScript代碼

2.阻止浏覽器的預設行為

或者直接傳回false:

但是在使用return false時必須注意:

1、jQuery有自己的事件處理層,也對處理程式做了封裝,如果事件處理程式傳回false,事件冒泡和浏覽器預設事件都會被阻止。

2、使用原生javaScript,在事件處理程式中傳回false隻會阻止浏覽器預設行為,而事件冒泡依然存在。

3、浏覽器預設行為和事件冒泡是互相獨立的。阻止事件冒泡不會影響預設行為,反之亦然。

注意:

有一些浏覽器行為是在事件處理程式執行前發生的,也就是說這些預設行為是無法取消的,如:在大部分浏覽器上滑鼠移到一個超連結上超連結的樣式會發生改變,這個動作是發生在focus事件之前的,是focus事件處理程式中無法取消的。

本文轉自 蓓蕾心晴 51CTO部落格,原文連結:http://blog.51cto.com/beileixinqing/1903310,如需轉載請自行聯系原作者

繼續閱讀