私は(それは私に似ている)何かをしようとしています、 シンプルなはずですが、私の試みは非常に巻き込まれて、私はd3 ガイダンスを探しています。ドラッグしたグループを特定の座標にd3で「登録」するにはどうすればよいですか?
ドラッグの最後にドラッグされたドラッグされたグループオブジェクト(その矩形と のテキスト)があるとします。 はこのグループを特定の座標に「登録」します。それ、どうやったら出来るの?
d3.dragのon("end")
イベントに関連付けられたdragended()
関数に自分のコードを追加しています。
function dragended(d) {
var move = d3.select(this);
var g = move._groups[0][0]; // same as this!
var rect = g.children[0]
rect.x = schedLeft;
rect.y = schedTop;
d3.select(this).classed("active", false);
}
I変数move
にd3.select(this)
を結合し、添付の図(クローム現像ローカル)に示すようなオブジェクト を得ます。
EDIT:move._groups[0][0]
は愚かです。 this
と同じです!
this
私は移動したいグループ(子供rect
と text
のノードを持つ)を得ることができます。
schedLeft
は、グループを削除したいx座標です。 rect
ノードはx
とy
の属性を持ちますが、私のrect.x = schedLeft
は何も変わりません(デバッガを見て)。
グループ全体を (つまり、出席するtext
を含む)の新しい場所に移行することは、正しい方法ですか?ヒントに
まず: 'd3.select(この)._グループを[0] [0];'です「これだけ」と同じです。 2番目: 'schedLef'は何ですか?ここで何をしたいのですか? –
@GerardoFurtado、#1はい、そうです。 #2: 'schedLeft'は、グループをドロップしたい場所のx座標です。 – rikb