问题描述
对于d3行为,除了默认侦听器之外,添加其他操作的最佳方法是什么?
例如,如果我想在dragstart上使用d3.behaviors.drag做某事,这就是我正在做的事情:
var drag = d3.behaviors.drag();
var originalDragstart = drag.on("dragstart");
drag.on("dragstart", function(d) {
originalDragstart.call(this, d);
// do other stuff
});
1楼
通常,您将对它们进行扩充, on回调作为第二个参数,您可以在其中定义自定义逻辑。
所以,你可例如采取像drag ,做:
drag.on("drag", function(d) {
// Move something
d3.select(this)
.attr("x", function(d) { return d.x; })
.attr("y", function(d) { return d.y; });
});