search

Home  >  Q&A  >  body text

javascript - 我想在事件方法里调用事件外面对象的一个属性,出现问题了

对象(){

this.x = 0;
xx.onclick = function(){
    这里面想拿到外面this的值,下面的例子不想用,因为对象里面有动画重复调用有延迟,有没有其他方法?
}

}

----例子

对象(){

this.x = 0;
that = this;
xx.onclick = function(){
    alert(that.x);
}

}

我好像看到有三个方法:bind;call;apply,但是看不懂,如果这个可以,能不能改下我的代码

-------------------已解决
xx.onclick = function(){

    alert(that.x);

}
修改为
xx.onclick = function(){

    alert(that.x);

}.bind(this)

高洛峰高洛峰2790 days ago475

reply all(3)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:11:00

    已解决xx.onclick = function(){

    alert(that.x);
    }
    修改为
    xx.onclick = function(){

    alert(that.x);
    }.bind(this)

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 13:11:00

    如果是es6的话,直接用箭头函数就好,里面直接用this取值

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 13:11:00

    可以当参数传进去呀?

    reply
    0
  • Cancelreply