setTimeout中的函数不起作用

时间:2017-07-10 15:08:18

标签: javascript aframe

我不知道原因,为什么会出现错误*** .setAttribute不是一个函数。 有人可以解释一下吗? 项目简介:https://glitch.com/edit/#!/skill-lab?path=public/js/cursorsubmit.js:10:8 提前谢谢。

AFRAME.registerComponent('cursor-submit', {
  init: function () {
    var _this=this;
    this.el.addEventListener('click', function (evt) {
      this.setAttribute('material', 'color', 'red');
      //_this.setAttribute('material', 'color', 'green'); //_this.setAttribute is not a function
      //this.setAttribute('material', 'color', 'green'); //works well
      setTimeout(function(){
        //alert(_this); //works well
        this.setAttribute('material', 'color', 'green');  //this.setAttribute is not a function
        //_this.setAttribute('material', 'color', 'green'); //_this.setAttribute is not a function
      },2000);
    });
  }
});

1 个答案:

答案 0 :(得分:0)

我看到你创建了一个变量_this。为什么不在setTimout中使用它?