JavaScript 事件流、事件處理程序及事件對象總結
來源:易賢網 閱讀:1124 次 日期:2017-04-06 14:41:58
溫馨提示:易賢網小編為您整理了“JavaScript 事件流、事件處理程序及事件對象總結”,方便廣大網友查閱!

JS與HTML之間的交互通過事件實現。事件就是文檔或瀏覽器窗口中發生的一些特定的交互瞬間??梢允褂帽O聽器(或處理程序)來預定事件,以便事件發生時執行相應的代碼。這種在傳統軟件工程中被稱為觀察員模式,支持頁面的行為與頁面的外觀之間的松散耦合。本文將介紹JS事件相關的基礎知識。

一、事件流

事件流描述的是從頁面中接受事件的順序。

事件冒泡

事件開始時由最具體的元素(文檔中嵌套層次最深的那個節點)接收,然后逐級向上傳播到較為不具體的結點(文檔)。以下面HTML頁面為例,如果你點擊了頁面中的按鈕,那么”click”事件會按照< button>、< body>、< html>、document的順序傳播。換句話說,事件冒泡指的就是事件從底層觸發事件的元素開始沿著DOM樹向上傳播,直到document對象。

名單

事件捕獲

與事件冒泡的思路相反,事件捕獲的思想是不太具體的節點應該更早地接收到事件,最具體的結點應該最后才接收事件。同樣還是上面那個例子,點擊頁面中的按鈕之后,”click”事件會按照document、< html>、< body>、< button>的順序傳播。換句話說,事件捕獲就是指事件從document對象開始沿著DOM樹向下傳播,直到事件的實際目標元素。

DOM事件流

“DOM2級事件”規定的事件包括三個階段: 事件捕獲階段、處于目標階段和事件冒泡階段。首先發生的是事件捕獲,為截獲事件提供了機會。然后是實際的目標接收到事件。最后一個階段是冒泡階段,可以在這個階段對事件做出響應。

還是以之前的點擊按鈕為例,在DOM事件流中,捕獲階段,”click”事件從document開始向下傳遞到body元素(注意,實際目標button在捕獲階段不會接收到事件)。目標階段,button元素接收到”click”事件。最后,冒泡階段,事件又被傳播回文檔。

二、事件處理程序

事件是用戶或瀏覽器自身執行的某種動作,而響應某個事件的函數就叫做事件處理程序或事件偵聽器。

HTML事件處理程序

這里的HTML事件處理程序指的是直接在HTML元素里面通過特性(attribute)定義的事件處理程序,請看下面的代碼示例。這樣是定的事件處理程序會創建一個封裝著元素屬性值的函數,this值等于事件的目標元素。通過這種方法指定事件處理程序存在不少缺點,不推薦使用。

JavaScript 事件流、事件處理程序及事件對象總結

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
未满十八18勿进黄网站免费看