gpt4 book ai didi

javascript - 避免在拖动时使用文本 anchor 跳转 SVG 文本

转载 作者:行者123 更新时间:2023-11-29 19:46:25 27 4
gpt4 key购买 nike

这是一个带有 anchor 的 SVG 文本:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" style="width:200px;height:200px;">
<text x="50" y="30" fill="red" text-anchor="start">I love SVG</text>
</svg>

现在如果我写一个拖动函数:

var dragMove = function (d,i) {
//d3.select(this).attr("text-anchor", "null"); Does not work
d3.select(this).attr("x", d3.event.x)
.attr("y", d3.event.y);
};

var dragEnd = function (d,i) {
//d3.select(this).attr("text-anchor", "start"); Does not work
};

var drag = d3.behavior.drag()
.on("drag", dragMove)
.on("dragend", dragEnd);

d3.select("svg")
.select("text")
.call(drag);

拖动它后它会根据其 anchor 位置跳跃。有解决办法吗?

我尝试将 anchor 文本设置为空,然后再次重新设置,但这不起作用。我根本不想改变拖动的用户体验。即使拖动完成也不会。

有什么想法吗?

这是 JSFiddle:http://jsfiddle.net/sewVr/

最佳答案

使用 d3.event.dxd3.event.dy 获取相对拖动位置的变化并将其应用到您的 dragMove() 功能。

此处演示:http://jsfiddle.net/sewVr/1/

关于javascript - 避免在拖动时使用文本 anchor 跳转 SVG 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com