以下代码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>
提前致谢..
答案 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+")")
}