为了账号安全,请及时绑定邮箱和手机立即绑定

this和event.target。的区别

this和event.target的区别:  js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;

    这个课程里面是不是写错了     this应该是不变的啊   event.target是改变的啊

请指教下,谢谢!!!

正在回答

2 回答

我的理解是   this  是指 通过 $() 来的    而event.target   是 从 事件 里的 

例如   $('ul')  this  就是 ul  然后 点击了 ul 下 的 li  触发 出了  event.target  这个  this 不会变   event.target  是由 事件发生者  来的 可变

0 回复 有任何疑惑可以回复我~
#1

慕勒8167199 提问者

非常感谢!
2018-07-03 回复 有任何疑惑可以回复我~
#2

ckdxc 回复 慕勒8167199 提问者

不好意思 我不懂了 能不能给我讲解下
2018-08-04 回复 有任何疑惑可以回复我~
#3

好吃的蛋包饭 回复 ckdxc

可以看一下我在下面的答案
2018-08-05 回复 有任何疑惑可以回复我~

前面说的不太对,在事件处理程序内部,this始终等于event.currentTarget,而event.target只包含事件的实际目标。

  1. 如果直接将事件处理程序制定给了目标元素,那么this、currentTarget、target指向是相同的。如鼠标单击事件,$(#btn).click(function(){…………})由于click事件的目标是按钮,事件处理程序也制定给了按钮,所以三个值相同。

  2. 如果事件处理程序存在于按钮的父节点中,那么值是不同的。例如:

    $(body).click(function() {………………})那么此时点击按钮元素,this和event.currentTarget都指向document.body,event.target指向按钮元素。

0 回复 有任何疑惑可以回复我~
#1

T松子

那是不是说课程里的错了,event.target应该是变的(点哪个元素,event.target是哪个元素),this和currentTarget都是不变的($()中的元素)。
2018-09-08 回复 有任何疑惑可以回复我~
#2

好吃的蛋包饭 回复 T松子

课程是说对的。你再理解一下
2018-11-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

this和event.target。的区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信