2016-10-29 18 views
0

コールバック関数で呼び出される関数にパラメータを渡そうとしていますが、es6またはjavascriptで可能ですか?ここでは以下の例である:、私はonDragMoveを関数にパラメータを渡したいES6コールバック関数から呼び出された関数にパラメータを渡す

sprite.on('mousedown', this.onDragStart) 
     .on('touchstart', this.onDragStart) 
     .on('mouseup', this.onDragEnd) 
     .on('mouseupoutside', this.onDragEnd) 
     .on('touchend', this.onDragEnd) 
     .on('touchendoutside', this.onDragEnd) 
     .on('mousemove', this.onDragMove); 
     .on('touchmove', this.onDragMove); 



    onDragStart(event) { 
      this.data = event.data; 
      this.alpha = 0.5; 
      this.dragging = true; 
      this.selected = true; 
     } 

    onDragMove(arg) { 

     if (this.dragging) { 
      var newPosition = this.data.getLocalPosition(this.parent); 
      arg.m_orange.setPosition(newPosition.x, newPosition.y); 
     } 
    } 

    onDragEnd() { 
     this.alpha = 1; 
     this.dragging = false; 
     this.data = null; 
     this.selected = false; 
    } 

マウスが移動した場合にのみ呼び出され、これは可能ですか?

もしそうでなければ、親クラスのキーワードをonDragMove関数に渡す方法はありますか?

答えて

0

あなたはそのためのFunction.prototype.bindを使用することができます:あなたはまた、それがバインドするのではなく、ES6矢印-FUNCを使用して行うことができ

on('mousemove', this.onDragMove.bind(thisArg, otherArg)) 
+0

何らかの理由で、動作しません。 – pureofpure

1

on('mousemove', (ev) => this.onDragMove(ev, otherArg)) 
関連する問題