根據文檔selection.call()
返回當前的選擇,但是當我測試這個時,我看到不同的行爲。selection.call真的會在d3中返回選擇嗎?
代碼:
var nodeEnter = node.enter().append("g")
.attr("class", "node")
.on("click", click)
.call(force.drag);
nodeEnter.append("circle")
.attr("r", function(d) { return Math.sqrt(d.size)/10 || 4.5; });
應該是相同的:
var nodeEnter = node.enter().append("g")
.attr("class", "node")
.on("click", click)
.call(force.drag)
.append("circle")
.attr("r", function(d) { return Math.sqrt(d.size)/10 || 4.5; });
但我看到不同的行爲。 Here是小提琴。見第57 - 61行。當使用第二種形式時,節點中的文本消失。
你nodeEnter對象是圓形元素的選擇,不是g元素,所以你不能追加文本元素。 –
Ahhh,沒錯,但從理論上講,在「呼叫」結束時加入代碼仍然有效嗎?我會測試它。 – timebandit
是的,通話返回廣告中的選擇... –