ljeary657
2018-01-03 03:47
采纳率: 50%
浏览 1.5k

javaSscript ES6 箭头函数 this 指向问题

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • TPORL丶 2018-01-03 15:28
    已采纳
    lis.addEventlistener('click', (e) => {
        console.log(e.target);  // 触发事件的元素
        console.log(e.currentTarget);  // 绑定事件的元素
    }) 
    
    点赞 评论
  • Knife_SX 2018-01-03 03:49

    你可以使用function (){}

    点赞 评论
  • 前端小木 2018-01-03 05:18

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

    点赞 评论
  • hhzzcc_ 2018-02-04 01:13

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

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

    希望对你有帮助~

    
    
    点赞 评论
  • hhzzcc_ 2018-02-04 01:13
     function lis() {
        //获取button,id为lis
        return document.getElementById('lis')
    }
     lis().addEventListener('click',()=>{
    
         //lis.call(this)指向lis
         console.log(lis.call(this));
    
    
    })
    

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

    点赞 评论

相关推荐 更多相似问题