Raphael在屏幕上拖拽文本,然后拖拽

Raphael drag text around the screen and tspan dy

本文关键字:然后 文本 Raphael 屏幕      更新时间:2023-09-26

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

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>

现在它是可拖拽的,并且它在正确的位置。有人知道怎么避免吗?

我有一个类似的问题,最终手动更改了tspan的dy属性:

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

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

相关文章: