this和e.target的區(qū)別
<div?class="left"> ????????<div?class="aaron"> ????????????<ul> ????????????????<li>點擊:觸發(fā)一</li> ????????????????<li>點擊:觸發(fā)二</li> ????????????????<li>點擊:觸發(fā)三</li> ????????????????<li>點擊:觸發(fā)四</li> ????????????</ul> ????????</div> ????</div>
$("ul").on('click',function(e){ ????//這里this是指ul ????$(this).css('border','1px?solid?blue') })
$(e.target).css('border','1px?solid?red')//把上面的this改成e.target
效果是點擊觸發(fā)一,則會出現(xiàn)一個紅色邊框把<li>觸發(fā)一</li>包裹起來。
所以e.target一般表示當(dāng)前元素的子元素。理解沒錯吧。有問題請糾正
2017-03-22
this 是會改變的,而e.target是確定的,是唯一不變的。
2018-10-08
在這里this指的是e.currentTarget 吧,e.currentTarget指的是綁定事件處理函數(shù)的當(dāng)前元素,e.target 是觸發(fā)事件的開始元素
ul綁定了事件處理函數(shù),在函數(shù)里獲取到的e.currentTarget對象就是ul元素,
點擊時,實際點擊到了li元素,然后冒泡到了ul元素,觸發(fā)ul的事件處理函數(shù)執(zhí)行,事件對象最開始是從li元素向上冒泡到ul的,說明實際的源頭即任務(wù)源頭就是li元素
e.target觸發(fā)事件的源元素,e.currentTarget綁定事件處理函數(shù)的當(dāng)前元素
僅個人看法
2017-07-13
this應(yīng)該是 指代的是$('ul')中的ul