以下代码失败
如果brush
是一个全局函数,它只会创建画笔。
我该怎么称呼obj.editor?
oneObject.prototype.editor = function(){
var brush = d3.svg.brush()
.x(x)
.extent([new Date(2013, 2, 2, 8), new Date(2013, 2, 2, 18)])
.on("brushstart", brushed);
return brush;
}
var obj = new oneObject();
var gBrush = svg.append("g")
.attr("class", "brush")
.call( function(){return obj.editor(); });
答案 0 :(得分:0)
传递给call
的函数应该以{{1}}为参数。在您的情况下,您完全无视传递的参数。另一方面,selection
已经是这样的功能。
以下内容应该有效:
brush
这是以下任何一种简短形式:
var gBrush = svg.append("g")
.attr("class", "brush")
.call(obj.editor());
或者:
var gBrush = svg.append("g")
.attr("class", "brush")
.call( function(selection){ obj.editor()(selection); });