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

js原生onclick如果用箭头函数this指向如何获得?

js原生onclick如果用箭头函数this指向如何获得?

慕妹3146593 2018-10-24 11:25:06
问题描述我们平时都用箭头函数来获得原来的this,但是反过来,如果js原生dom操作,比如onclick如果用箭头函数如何拿到它的this。问题出现的环境背景及自己尝试过哪些方法原生操作dom相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)不用箭头函数正确的做法for (let i = 0; i < iconPlus.length; i++) {     iconPlus[i].onclick = function () {    //this指向正确       clickInitModal(this);            }   }用箭头函数的做法会找不到this问题如果用箭头函数 如何获取this?for (let i = 0; i < iconPlus.length; i++) {     iconPlus[i].onclick = function () {    //this指向正确       clickInitModal(this);            }   }我期待的结果。如果用箭头函数 如何获取它的点击事件this
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

箭头函数并不是万能的。

因为用箭头函数去触发一个函数,当回调发生时,浏览器会用iconPlus[i]的上下文去调用这个函数,这时this的指向是window。

解决的办法,就是用回传统的函数表达式,这也并没有什么不好的。并不是新的模式出来,就一定要抛弃老的。


查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 2276 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号