当前位置: 代码迷 >> JavaScript >> d3-将动作附加到现有的侦听器?
  详细解决方案

d3-将动作附加到现有的侦听器?

热度:86   发布时间:2023-06-07 17:55:12.0

对于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
});

通常,您将对它们进行扩充, 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; });
});
  相关解决方案