国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談javascript中的事件冒泡和事件捕獲

2019-11-19 18:12:58
字體:
來源:轉載
供稿:網友

1.事件冒泡  

IE 的事件流叫做事件冒泡(event bubbling),即事件開始時由最具體的元素(文檔中嵌套層次最深的那個節點)接收,然后逐級向上傳播到較為不具體的節點(文檔)。以下面的HTML 頁面為例:

<!DOCTYPE html><html><head><title>Event Bubbling Example</title></head><body><div id="myDiv">Click Me</div></body></html>

如果你單擊了頁面中的<div>元素,那么這個click 事件會按照如下順序傳播:

(1) <div>

(2) <body>

(3) <html>

(4) document

也就是說,click 事件首先在<div>元素上發生,而這個元素就是我們單擊的元素。然后,click事件沿DOM樹向上傳播,在每一級節點上都會發生,直至傳播到document 對象。圖13-1 展示了事件冒泡的過程。

所有現代瀏覽器都支持事件冒泡,但在具體實現上還是有一些差別。IE5.5 及更早版本中的事件冒泡會跳過<html>元素(從<body>直接跳到document)。IE9、Firefox、Chrome 和Safari 則將事件一直冒泡到window 對象。

2.事件捕獲

Netscape Communicator 團隊提出的另一種事件流叫做事件捕獲(event capturing)。事件捕獲的思想是不太具體的節點應該更早接收到事件,而最具體的節點應該最后接收到事件。事件捕獲的用意在于在事件到達預定目標之前捕獲它。如果仍以前面的HTML 頁面作為演示事件捕獲的例子,那么單擊<div>元素就會以下列順序觸發click 事件。

(1) document

(2) <html>

(3) <body>

(4) <div>

在事件捕獲過程中,document 對象首先接收到click 事件,然后事件沿DOM 樹依次向下,一直傳播到事件的實際目標,即<div>元素。

雖然事件捕獲是Netscape Communicator 唯一支持的事件流模型,但IE9、Safari、Chrome、Opera和Firefox 目前也都支持這種事件流模型。

由于老版本的瀏覽器不支持,因此很少有人使用事件捕獲。我們也建議讀者放心地使用事件冒泡,在有特殊需要時再使用事件捕獲。

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永新县| 康定县| 叙永县| 安顺市| 奉化市| 洛浦县| 庆元县| 许昌市| 洞口县| 大冶市| 凌源市| 绥滨县| 城市| 剑川县| 当雄县| 临猗县| 伊通| 鹿邑县| 商南县| 镇沅| 郧西县| 许昌市| 阳谷县| 平武县| 荥阳市| 陆川县| 兰坪| 文水县| 唐山市| 临邑县| 富宁县| 上高县| 博客| 水城县| 泗水县| 克东县| 沈丘县| 云浮市| 云龙县| 来凤县| 东源县|