javaSscript ES6 箭头函数 this 指向问题

大佬们有没有 使用箭头函数 不改变 this指向的经验

比如说 lis.addEventlistener('click', () => {
console.log(this); // 这里我不想this 指向window 而是代表点击者本身 有办法解决么
})

不允许使用 lis.addEventlistener('click', function() {
})

5个回答

lis.addEventlistener('click', (e) => {
    console.log(e.target);  // 触发事件的元素
    console.log(e.currentTarget);  // 绑定事件的元素
}) 

你可以使用function (){}

ljeary657
ljeary657 语法验证,匿名函数只能使用 箭头函数 否则连编译都通不过
2 年多之前 回复
ljeary657
ljeary657 我们代码开启了 ES6
2 年多之前 回复

function lis() {
//获取button,id为lis
return document.getElementById('lis')
}
lis().addEventListener('click',()=>{

 //lis.call(this)指向lis
 console.log(lis.call(this));

希望对你有帮助~


 function lis() {
    //获取button,id为lis
    return document.getElementById('lis')
}
 lis().addEventListener('click',()=>{

     //lis.call(this)指向lis
     console.log(lis.call(this));


})

再发一次,不是很会发这个

直接用一个bind方法改变指向

liaoxuewu
前端小木 回复ljeary657: 链式调用,后面再加.bind(),第一个参数指向你要改变的this
2 年多之前 回复
ljeary657
ljeary657 加在哪里?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐