this和e.target區(qū)別,求教
我的理解,this永遠指向事件綁定的對象,e.target永遠指向當(dāng)前觸發(fā)事件的對象,
比如下面例子,this永遠指向ul,e.target可能指向ul,可能指向li,對嗎?
<ul>
<li>111</li>
<li>222</li>
<li>333</li>
</ul>
$(ul).on('click',function(e){
alert($(this).text());
alert(e.target.textContent);
$
})
2019-01-09
可以這樣理解吧,e.target指向當(dāng)前點擊的DOM元素,點擊哪個li就是哪個li,點擊ul就是ul.因為js是會冒泡的,所以點擊li的時候,this會變成ul.
2019-06-05
this指觸發(fā)事件的元素,無論你鼠標(biāo)點擊在什么位置,觸發(fā)事件的元素都是ul,所以this指ul,但是e.target指鼠標(biāo)的焦點元素,如果你點擊到了ul內(nèi)部的li,則e.target指的就是li,但是如果你點擊的是ul其他的非li部分,則this和e.target是一樣的。
如果不是通過冒泡產(chǎn)生的事件,則this和e.target沒有區(qū)別。