簡單的例子詳述event.target 和 this 的區別

? ? ? 想必大家對它們都很熟悉,但是你知道它們的區別么?今天我就通過一個簡單的例子向大家詳細介紹一下這兩個的區別。

? ? ? 首先,你需要了解的是JavaScript的事件冒泡和事件捕捉。

? ? ? 事件冒泡:觸發事件時,當到達事件目標時不會立即結束,會逐層向上冒泡。

? ? ?事件捕獲:與事件冒泡相反,事件發生時,最先發生的是document。

? ? ? 有了上面的知識,現在進入本文重點。event.target直接指向事件目標,是不會隨著事件冒泡的發生而改變;而this是指向調用該方法的對象。

? ? ?下面來以一個例子來說明. 有個塊級元素內含行內元素,點擊時則輸出該元素的ID。當我點擊span ,由于冒泡的原因,而this 指向調用當前方法的對象。所以會先輸出span 元素的ID,后輸出 p 元素的ID。

? ? ? 當我使用的是event.target時,點擊span元素時,兩次均輸出了span元素的ID。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 前言:之前的上傳圖片用到了event.target,但是后來仔細思考了一下,自己對event.target,thi...
    Ruby君閱讀 2,039評論 1 3
  • 我們首先要明白,我們給頁面添加效果用到的js到底是什么?js其實包含三部分:dom 文檔對象模型 bom 瀏覽...
    一直以來都很好閱讀 817評論 0 0
  • 以下文章為轉載,對理解JavaScript中的事件處理機制很有幫助,淺顯易懂,特分享于此。 什么是事件? 事件(E...
    jxyjxy閱讀 3,075評論 1 10
  • 作者/胄寧 去了又來的大都市, 月光搖曳的小酒館, 半盡的燭光里是你背影的蹁躚。 數不盡的是心底的仇怨, 說不出口...
    胄寧閱讀 1,076評論 12 9