前言:
Event物件代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、滑鼠的位置、滑鼠按鈕的狀態,
事件發生后,跟事件相關的一系列資訊資料的集合都放到這個物件里面,這個物件就是事件物件event,它有很多屬性和方法,
比如:
- 誰系結了這個事件,
- 滑鼠觸發事件的話,會得到滑鼠的相關資訊,如滑鼠位置,
- 鍵盤觸發事件的話,會得到鍵盤的相關資訊,如按了哪個鍵,
其中事件物件屬性e.target,它和this的指向有所不同,
案例:
HTML:
<div>div
<span>span</span>
</div>
CSS:
div {
width: 100px;
height: 100px;
background-color: red;
}
span {
display: block;
width: 50px;
height: 50px;
background-color: yellow;
}
預覽:

JS:
var div = document.querySelector('div');
div.addEventListener('click', function(e) {
console.log(this); // 給div系結了事件,那么this就指向div
console.log(e.target); // e.target指向點擊的那個物件
})
實作結果:
點擊div:

this回傳div標簽,e.target回傳div標簽
點擊span:

this回傳div標簽,e.target回傳span標簽
分析:
- 因為
div系結了點擊事件,那么this回傳的都是div; - 點擊
div,e.target回傳div;點擊span,e.target回傳span,
總結:
this回傳的是系結事件的物件(元素);e.target回傳的是觸發事件的物件(元素),- 簡單來說,
this:哪個元素系結了這個點擊事件,就回傳哪個元素;e.target:點擊了哪個元素,就回傳哪個元素,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/165417.html
標籤:JavaScript
