私はd3で力指向のレイアウトを使用していますが、開発中に少し問題が発生しています。
var circle = svg.append("svg:g").selectAll("circle")
.data(force.nodes())
.enter().append("svg:circle")
.attr("r", function( d ) {
return d.fValue;
})
.style('fill', function( d ) {
return strokeColor( d.name );
})
.call(force.drag);
基本的に、force.dragで定義された「ドラッグ」動作にイベントリスナーを追加したいと思います。つまり、ノードがドラッグ時に(マウスオーバーではなく)色が変わることを確認したいと思います。これを行うために私が考えることができる唯一の2つの方法は、force.drag関数を何らかの方法で変更するか、新しいドラッグ動作を定義することです。
最初の方法でそれを行う方法はわかりませんが、この2番目の方法で試した場合、メソッドチェーンは、最初のforce.dragイベントを無視して、2番目のドラッグイベントのみを取得します。
.call(customDrag)
.call(force.drag); // This would work
別のドラッグイベントリスナーをアタッチするか、既存のforce.dragを変更して、追加する新しいアニメーションに対応するにはどうすればよいですか?
前もって感謝します