SnapSvg 移动图像 onclick

SnapSvg moving image onclick

所以我正在尝试Snap svg

现在我有以下代码:

var chatSvg = Snap("#chatSvg");
var c = chatSvg.image('assets/figures/naked.jpg', 10, 10);
chatSvg.click(function (event) {
    c.x = event.x;
    c.y = event.y;
});

然而,一旦属性 xy 被更改,图像就不会移动。

谁能告诉我我做错了什么?

您使用 attr() 方法更改 Snap 中的属性,这将为您更改较低级别的 SVG 属性。

例如,它看起来像

c.attr({ x: event.x, y: event.y })

还值得注意的是,x、y 坐标已正确传递到点击函数中,因此通常首选使用此函数,因此您可以将函数更改为...

chatSvg.click( function( event, x, y ) {
    c.attr({ x: x, y: y })
});