亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

章節
問答
課簽
筆記
評論
占位
占位

體系結構

我們看看 jQuery 在針對事件的整個處理的過程,包括綁定執行到底都干了些什么,通過一個流程圖我們大體的了解下。

jQuery事件的流程圖,在綁定階段與執行階段:

(單擊圖片可放大)

以上是 jQuery 事件的整個結構流程圖,右邊是流程的一個簡單實現,主要是用于理解,源碼當然不是這么簡單的,考慮代碼量太多,有些機制是沒有實現的,比如委托與原生事件的區分:

1. 通過 on 綁定事件,分析傳遞的數據,加工變成 add 能夠識別的數據
2. 通過 add 把數據整理放到數據緩存中保存,通過 addEventListener 綁定事件
3. 觸發事件執行 addEventListener 回調 dispatch 方法
4. 修正事件對象存在的問題,通過 fix 生成一個可寫的事件對象
5. 引入 handlers 把委托和原生事件(例如"click")綁定區分對待
6. 執行數據緩存的事件回調,傳入內部產生的事件對象

這樣的好處:

  1. 因為事件對象是我們重寫生成的,所以我們可以內部獲取到狀態值,比如是否冒泡,是否阻止默認行為。
  2. 通過事件的委托機制我們可以讓原本不支持冒泡的元素也同樣模擬出來,比如 blur,focus,具體怎么實現我們后面再講解。

任務

?不會了怎么辦
||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?