2016-03-03 84 views
0

我有這樣的:如何用Javascript中的參數調用事件處理程序?

var MyParameter = ...; 
var options = { 
    ..., 
    actions: [ 
    { 
     label: 'TheLabel', 
     eventHandler: MyEventHandler 
    } 
    ], 
    ... 
}; 

但後來我有這樣的:

function MyEventHandler(MyParameter) {...} 

我如何通過在回調函數中引用的參數?

+2

[功能#綁定(https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind)也許是 - 不知道,你的問題是不清楚 –

+0

@ zer00ne我不想複製粘貼所有的代碼,問題很明顯。 –

+0

@AndrejsIgumenovs我不清楚,因爲我不知道你是否想用一個特定的值以編程方式(即,在一個實際事件的上下文之外)調用一次監聽器,或者如果你想確保函數永遠都會在每次調用時提供給定的參數。在這種情況下,我不完全清楚你爲什麼需要論證。 (我可以考慮幾個原因,但不知道哪個適用於你的情況,如果這確實是你的情況)。 – apsillers

回答

0

使用bind()來創建一個具有預先指定的初始參數的函數。

options = { 
    ..., 
    actions:[{ 
     label: 'TheLabel', 
      eventHandler: MyEventHandler.bind(this, MyParameter); 
    }], 
    ... 
}; 
相關問題