d3 で円グラフを作成しており、ホバー時に特定のスライスの名前と値を表示したい:
@graph.append('path')
.attr('d', @arc)
.style('fill', (svg) => @color(svg.data.value))
.attr('class', 'pie-slice')
.on('mouseover', @pieSliceMouseOver)
.on('mouseout', @pieSliceMouseOut)
.append('text')
.style('stroke', 'black')
.append('textPath')
.text((svg) -> "#{svg.data.name}: #{svg.data.value}")
これにより、次が出力されます(パイの1つのスライスに対して)
<path d="M-101.9924541587831,53.12757565208981A115,115 0 0,1 -2.1124459603436008e-14,-115L0,0Z" style="fill: #37823e;" class="pie-slice">
<text style="stroke: #000000;">
<textPath>401K: 82.28</textPath>
</text>
</path>
しかし、テキスト自体は表示されません。Chrome でパス ノードを強調表示すると、ブラウザはスライスを正しく強調表示しますが、テキストに移動するとノードが表示されません。
mouseover および mouseout ハンドラーは設計どおりに機能しますが、テキストが表示されません。