Raphael在屏幕上拖动文字和tspan dy

时间:2013-04-09 22:32:49

标签: javascript raphael

这是我在画布上移动文本的代码:

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>

它现在已经可以拖拽并且它处于准确的位置。有人知道如何避免这种情况吗?

1 个答案:

答案 0 :(得分:3)

我遇到了类似的问题,并最终手动更改了tspan的dy属性:

$('tspan')。removeAttr('dy')。attr('dy',9);

当然它会改变所有的tspan ty属性。