问答详情
源自:6-1 jQuery事件对象的作用

this和e.target区别,求教

我的理解,this永远指向事件绑定的对象,e.target永远指向当前触发事件的对象,

比如下面例子,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);

$

})

提问者:宝慕林6291606 2019-01-09 09:53

个回答

  • 大山的子孙哟爱太阳
    2019-01-09 15:39:19
    已采纳

    可以这样理解吧,e.target指向当前点击的DOM元素,点击哪个li就是哪个li,点击ul就是ul.因为js是会冒泡的,所以点击li的时候,this会变成ul.

  • 慕哥7119846
    2019-06-05 11:00:43

    this指触发事件的元素,无论你鼠标点击在什么位置,触发事件的元素都是ul,所以this指ul,但是e.target指鼠标的焦点元素,如果你点击到了ul内部的li,则e.target指的就是li,但是如果你点击的是ul其他的非li部分,则this和e.target是一样的。

    如果不是通过冒泡产生的事件,则this和e.target没有区别。