如何将文本绑定到svg rect?

时间:2014-04-07 11:54:02

标签: text svg d3.js rect

以下代码infact将文本包装在矩形上。 但是当我想拖动矩形时,我也希望同时拖动文本,即文本必须在拖放时绑定到矩形。

请帮帮我。

<svg xmlns="http://www.w3.org/2000/svg">
 <g id='Propositions'>
      <rect id='Proposition1' x='50' y='50' width='100' height='30' style='fill:#8FBC8F; '/>
      <text x="55" y="72" font-family="Verdana" font-size="14" fill="black" > Proposition1</text>
 </g>
</svg>

提前致谢..

1 个答案:

答案 0 :(得分:2)

拖动<g>元素(parentNode),而不是rect。然后,这将包括拖放事件中的文本。

e.g。

 <g id='Propositions'>
      <rect id='Proposition1' onmousemove=dragMe(evt) x='50' y='50' width='100' height='30' style='fill:#8FBC8F; '/>
      <text pointer-events=all x="55" y="72" font-family="Verdana" font-size="14" fill="black" > Proposition1</text>
 </g>

function dragMe(evt)
{
myG=evt.target.parentNode
myG.setAttribute("transform", "translate("+transX+" "+transY+")")
}