2017-03-17 8 views
0

私は関数に引数を渡そうとしていますが、メソッドをバインドするときにこれを行う方法を理解できません。.bindを使用するときにコールバック関数にパラメータを渡す

私は私の質問は2倍であると仮定します

1)どのようにして、この場合には(コールバック関数にprintEvent)あなたが使用しているバインドをパラメータを渡すのですか?

2)さらに、実際にイベントをprintEvent関数に渡しますか?

var app = { 

    fruit : 'apple', 

    printEvent: function(event){ 
    console.log(event + this.fruit); 
    }, 

    eventListeners:function(){ 
    var target = document.getElementById('elementId'); 
    target.addEventListener('pointerdown', this.printEvent(event).bind(this)); 
    } 

} 
+1

あなたは 'target.addEventListener意味( 'pointerdown' を、this.printEvent.bind(この、 'pointerdown'));'? – Li357

+0

偉大な、それは最初の質問に答える。 :)を除いて、私は実際に 'pointerdown'イベント自体をどのように渡しますか?今のところ、あなたの解決策は文字列を渡すだけです – Modermo

+1

私はあなたがちょうど文字列を望んだと思いました。その場合、 'this'をバインドしてください。 'event'が自動的に渡されます。 – Li357

答えて

1
var app = { 
    fruit: 'apple', 

    printEvent: function (event) { 
    console.log(event.target, event.type, this.fruit) 
    }, 

    eventListeners: function() { 
    document.getElementById('elementId').addEventListener('pointerdown', this.printEvent.bind(this)) 
    } 
} 
関連する問題