0

dygraph drawcallback 有两个参数,一个是对 dygraph 对象的引用,另一个是布尔值,如果它是第一次绘制图形。但我也想向回调发送可选参数,而不是创建全局变量。那可能吗?

4

1 回答 1

1

您的问题并非特定于 dygraphs。相反,这是使用 JavaScript 时的常见需求。常用技术:

JavaScript(闭包)


var self = this;
drawCallback : function(dygraph, is_init) {
  self._myCallbackFunction(extraParam1, extraParam2, dygraph, is_init)
}

但是,this上下文可能不是您在回调函数中所期望的。如果要设置this为定义回调函数的对象的上下文,则可以使用:

JavaScriptcallapply函数


drawCallback : function(dygraph, is_init) {
  self._myCallbackFunction.call(self, extraParam1, extraParam2, dygraph, is_init)
}

jQuery (.proxy)


drawCallback : $.proxy(this._myCallbackFunction, this, extraParam1, extraParam2)
于 2013-04-04T20:10:26.720 回答