老师解答一下,JS里的this跟e.target的区别

老师解答一下,JS里的this跟e.target的区别

怎么判断是用this好还是e.target

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好同学,举一个小例子来区分它们,如下:

http://img1.sycdn.imooc.com//climg/5d2941b50001a09305940637.jpg

如上给父元素box绑定了一个点击事件,在输出中输出this和e.target。然后在浏览器中我们点击子元素inner,输出的结果如下:

http://img1.sycdn.imooc.com//climg/5d2941fd0001979c06000103.jpg

当我们把事件绑定在子元素inner上面,再次点击子元素,结果输出如下:

http://img1.sycdn.imooc.com//climg/5d2942df0001518003480099.jpg


所以区别也就可以总结出来了:

1.this它是会变化的,也就是它指向的是事件调用者,谁绑定了这个点击事件,它就指向谁。所以即使点击子元素,只要事件是绑定在父元素上,它输出的就是父元素。

2.e.target它永远指向触发事件的源对象,即点击谁,它指向的就是谁。所以不管事件给谁绑定,只要点击的是子元素,它输出的就是子元素哦。

祝学习愉快,望采纳。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师