2016-03-03 42 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); 
    }], 
    ... 
}; 
相关问题