我需要在 svg 中动态添加圆圈。在这里,它正确地添加到 svg 中,但位置不正确。在这里,我在 svg 内的圆上创建并通过单击 svg 来添加新圆来获取 x 和 y 位置。它从屏幕上正确地获取了 clientX 和 clientY 的位置,但是新添加的圆圈没有正确地添加到正确的位置。我需要在所选位置的 svg 上添加新圆圈。
这是演示。
var xpos, ypos;
$("svg").click(function (e) {
xpos = e.clientX;
ypos = e.clientY;
alert(xpos+' '+ypos);
});
$("#create").click(function (e) {
var svgNS = "http://www.w3.org/2000/svg";
var myCircle = document.createElementNS(svgNS, "circle");
myCircle.setAttributeNS(null, "id", "mycircle");
myCircle.setAttributeNS(null, "fill", 'blue');
myCircle.setAttributeNS(null, "cx", xpos);
myCircle.setAttributeNS(null, "cy", ypos);
myCircle.setAttributeNS(null, "r", '6');
myCircle.setAttributeNS(null, "stroke", "none");
var svg = document.querySelector("svg");
svg.appendChild(myCircle);
});
任何建议都应该不胜感激。