this和e.target区别,求教

来源:6-1 jQuery事件对象的作用

宝慕林6291606

2019-01-09 09:53

我的理解,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);

$

})

写回答 关注

2回答

  • 大山的子孙哟爱太阳
    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没有区别。

    金刚无敌葫芦...

    不是这样吧,this指向的是监听事件的元素,e.target指向触发事件的元素, 事件可以由ul触发,也可以由li触发,所以e.target可能是ul,也可能是li; 但无论是ul触发还是li触发,都是由ul监听捕获的,所以this指向ul

    2020-04-11 22:22:16

    共 1 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题