这是我在画布上移动文本的代码:
paper
.text(self.x, self.y, "Jeaaaaaaaaaaaaaaah")
.attr({
fill: "#000",
dy: 0,
dx: 0,
font: "italic 20px Helvetica"
})
.drag(
function(dx, dy) {
this.attr({x: self.x + dx, y: self.y + dy, dy:0, dx:0});
},
function () {
this.attr({x: self.x, y: self.y, dy:0, dx:0});
},
function () {
self.x = this.attr("x");
self.y = this.attr("y");
}
);
它的工作原理是我可以拖动文本,但是前两次我将它拖动到完全错误的位置。
这是由此给出的:
<text ....><tspan style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);" dy="120">Jeaaaaaaaaaaaaaaah</tspan></text>
前两次拖拽之后它变为
<text ....><tspan style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);" dy="8.9734">Jeaaaaaaaaaaaaaaah</tspan></text>
它现在已经可以拖拽并且它处于准确的位置。有人知道如何避免这种情况吗?
答案 0 :(得分:3)
我遇到了类似的问题,并最终手动更改了tspan的dy属性:
$('tspan')。removeAttr('dy')。attr('dy',9);
当然它会改变所有的tspan ty属性。